Es gibt viele Quellcode-Formatierungswerkzeuge da draußen. Welche funktionieren am besten für C++?
Ich interessiere mich für Befehlszeilentools oder andere Dinge, die beim Ein- und Auschecken von Code automatisch ausgeführt werden können, vorzugsweise ohne einen Editor oder eine IDE starten zu müssen.
(Wenn Sie sehen, dass die Antwort, die Ihnen gefällt, bereits als Antwort aufgeführt ist, stimmen Sie dafür ab. Wenn sie nicht vorhanden ist, fügen Sie sie hinzu.)
Ein Stil kann sehr detailliert für C++ und Java (und andere auch) angepasst werden
Dies ist ein Quellcode-Formatierungstool.
Clang-Format ist ein Mächtiger Befehlszeile Tool, das mit dem Clang-Compiler gebündelt ist, der selbst die obskursten Sprachkonstrukte auf kohärente Weise behandelt.
Es kann mit Visual Studio, Emacs, Vim (und anderen) integriert werden und kann nur die ausgewählten Zeilen formatieren (oder mit git/svn, um einige Unterschiede zu formatieren).
Es kann mit einer Vielzahl von aufgelisteten Optionen konfiguriert werden Hier.
Bei Verwendung von Konfigurationsdateien (namens .clang-format) Stile können pro Verzeichnis sein – die nächste solche Datei in übergeordneten Verzeichnissen soll für eine bestimmte Datei verwendet werden.
Stile können von einer Voreinstellung (z. B. LLVM oder Google) geerbt und später verschiedene Optionen überschrieben werden
Es wird von Google und anderen verwendet und ist produktionsbereit.
Schauen Sie sich auch das Projekt an UniversalIndentGUI. Sie können damit mit mehreren Eindringkörpern experimentieren: AStyle, Uncrustify, GreatCode, … und den besten für Sie auswählen. Jeder von ihnen kann später über eine Befehlszeile ausgeführt werden.
Entkrusten hat ein viel von konfigurierbaren Optionen. Sie benötigen wahrscheinlich auch die Universal Indent GUI (in Konstantins Antwort), um sie zu konfigurieren.
Wir haben einige chaotische Quelldateien voller komplizierter Makros, die es schwierig machen, zu verstehen, wie man den Code ändert oder Haltepunkte setzt. Wir haben das Makro mit gcc -E entfernt, was zu sehr langen Zeilen verschachtelter for-Schleifen, if-Anweisungen usw. führte. Astyle hat das korrigiert, damit es lesbar ist, was uns viel Ärger erspart. Astyle hat einen festen Platz in meinem Software-Werkzeugregal!
– DarenW
10. August 2010 um 17:33 Uhr
Vim-Tipp: Wenn Sie den Code in einer Datei verschönern möchten, die Sie gerade bearbeiten, verwenden Sie: %!astyle
– Tonylo
16. Dezember 2010 um 16:33 Uhr
Dies ist ein großartiges Werkzeug. Jedes Mal, wenn ich an demselben Projekt mit MSVStudio unter Windows (bei der Arbeit) und Emacs unter Linux (zu Hause) arbeiten muss, führe ich einen Stil aus. Ich verwende den BSD-Stil mit emacs und astyle (was dem Stil nahe kommt, den ich mit dem MSVC-Editor verwende), und ich habe immer richtig eingerückten Quellcode. Es sieht sogar unabhängig von der Tab-Größe schön aus!
– Alexander C.
23. Februar 2011 um 23:23 Uhr
Ich habe es versucht. Es ist sehr einfach, ein schnelles Ergebnis zu erhalten (doc ist gut). Schade, dass es nicht so viele Möglichkeiten gibt! Einige Programmierer sind sehr kreativ darin, ihren Code mit Leerzeichen aufzufüllen, und AStyle kann diese ganze Kreativität nicht handhaben.
– Wut
2. Mai 2012 um 22:22 Uhr
Es gibt keine Option für die maximale Linienbreite. Dies sollte ein Muss sein.