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?




Anmelden zum Antworten