Clang Integration in andere Tools



  • Hi @Leon0402 ­čÖé
    Danke f├╝r deine R├╝ckmeldung.
    Den Link von Clang habe ich auch schon gefunden. Allerdings kommen die von mir genannten Umgebungen dort nicht wirklich vor.

    Wei├čt du denn, ob deine Vorschl├Ąge funktionieren? ­čÖé
    Da ich wirklich neu in diesem Bereich bin, habe ich keinerlei Erfahrung damit, wie ich dies umzusetzen habe.

    Danke f├╝r dein Feedback! Vielleicht k├Ânntest du mir weitere Tipps geben. ­čÖé

    Liebe Gr├╝├če



  • clang-format hat erstmal ├╝berhaupt nichts mit IDEs zu tun. Es ist ein Kommandozeilentool. Also solches kann es nat├╝rlich in IDEs integriert werden. Wie genau h├Ąngt von der konkreten IDE ab. Grunds├Ątzlich sucht clang-format im aktuellen Verzeichnis nach einer .clang-format Datei. Wenn dort keine ist, dann wird in den ├╝bergeordneten Verzechnissen weitergesucht. In der Datei legst du fest wie was formatiert wird.



  • Die .clang-format Datei habe ich bereits angelegt und meine Formatierung festgelegt.

    Ziel jetzt sollte sein, eine L├Âsung zu finden, welche die .clang-format Datei unter der jeweiligen Umgebung (sprich: Code Composer, Eclipse, Arm Keil) aufruft und einheitlich, alle Dateien im Verzeichnis formatiert.

    Ist Clang als externes Tool in code composer (u.a.) integrierbar?
    Wenn ja, wie?



  • Vlt. kannst du nochmal kurz erl├Ąutern, ob du einmalig alle Dateien formattieren willst oder eher immer, wenn du halt ne ├änderung machst.



  • @Leon0402
    Ich denke, Ziel sollte erstmal sein, das komplette Verzeichnis einmalig zu formatieren. Dies sollte am besten automatisch passieren und nicht h├Ąndisch.

    Oder was meinst du mit "wenn ich eine ├änderung mache" ? ­čÖé

    Die .clang-format Datei ist auf jeden Fall ein endg├╝ltiges Produkt erstmal. ­čÖé



  • Mit "wenn du eine ├änderung machst" meine ich: Willst du in Zukunft immer wenn du am Code arbeitest, dass er automatisch das ganze formatiert. Denn nur bei so regelm├Ą├čigen Aufgaben lohnt sich eine automatisierung ja ├╝berhaupt erst.

    Wenn du das nur einmalig machen willst, dann w├╝rde es vermutlich schneller gehen, wenn du halt einfach einmal den Befehl ausf├╝hrst. Also der Befehl "clang-format" unterst├╝tzt ja wildcards. Das w├╝rde ich schon relativ nah an automatisiert sehen, nur das du es halt mit einem Befehl im Terminal manuell ansto├čen musst.

    Auch ergibt in dem Fall nicht so ganz Sinn wieso du das f├╝r alle 3 Umgebungen machen willst. Den Code formattierst du einmal und dann ist es ja schnuppe mit was du denn ├Âffnest (Der Code ist ja nicht in der IDE, sondern auf deiner Festplatte. Die IDE ├Âffnet den ja nur).

    Ich habe aber mal vermutet, dass dein Ziel eig. eher ein "format on save" ist. Daher in Zukunft sobald du deinen Code bearbeitest hast in irgendeiner deiner IDEs m├Âchtest du, dass der automatisch direkt formatiert wird. Oder auch (zus├Ątzlich) "format on paste": Wenn du neuen Code aus dem Internet oder so bei dir reinkopierst, dann wird der automatisch formattiert in deinen Stil. Wenn du aktiv an dem Projekt arbeitest, dann lohnt sich so eine komplett Automatisierung nat├╝rlich.
    Letzendes geht es dann aber nur darum, dass eben dieser eine Befehl automatisch von der IDE ausgef├╝hrt wird, sobald du z.B. speicherst oder irgendeinen Shortcut dr├╝ckst. Viele IDEs bieten daf├╝r Plugins an, die direkt clang format einbinden und auf irgendeinen shortcut legen oder so. (z.B: https://marketplace.eclipse.org/content/cppstyle). Viele Editoren bieten auch die M├Âglichkeit selbst einen Kommandozeilenbefehl zu hinterlegen, der auf eine bestimmte Aktion hin (z.B. speichern) ausgef├╝hrt wird. Und wenn das die IDE selbst nicht hat, dann gibt es immer noch so Sachen wie z.B. Git Hooks, wo du eben clang-format ausf├╝hren k├Ânntest, wenn du einen commit machst.

    Was es konkret f├╝r deine IDEs gibt wei├č ich nicht. Ich m├╝sste da genauso googeln wie du (oder mal in den Einstellungen gucken, was ich zu "formatter" oder "format on save" etc. finde), da ich keiner der von dir genannten Entwicklungsumgebungen selbst nutze.

    Du solltest aber auch wissen, was du konkret ├╝berhaupt haben willst ­čśë Deine bisherige Anforderungen sind "Alles sollte einmal komplett formattiert werden" ... dazu brauchst du keine IDE und auch keine Integration. Da f├╝hrst du sowas wie "clang-format -i *.cpp" in einem Terminal im Root Verzeichnis aus (Keine Ahnung, ob der Befehl so konkret jetzt geht ... m├╝sstest du mal selbst in die Dokumentation gucken)



  • Hi @Leon0402 ! ­čÖé
    Genau, ich m├Âchte immer, wenn ich am Code arbeite, dass dieser automatisch das ganze formatiert.

    Vorrangig, ist mir das erstmal in den Umgebungen Code Composer (TI) und Eclipse wichtig.

    cppstyle von Eclipse werde ich mir auf jeden Fall dazu ansehen. ­čÖé Danke!

    Ich habe dabei eher Probleme bei meiner Recherche nach den m├Âglichen L├Âsungswegen.



  • Da das "Code Composer Studio (TI)" auf Eclipse basiert, kannst du dort dieselben Plugins benutzen, d.h. wie schon geschrieben z.B. mit CppStyle (welches auf clang-format basiert).



  • Ist es m├Âglich, Clang direkt unter Eclipse oder CCS einzubinden?
    Oder geht dies nur ├╝ber CppStyle?




Log in to reply