Wir glauben, dass es wichtig ist, Formatierungsregeln zu definieren und entsprechend zu codieren, insbesondere für Projekte mit mehreren Personen, um die Lesbarkeit Ihres Codes zu verbessern.
Andererseits ist es für jeden Entwickler eine kostspielige Aufgabe, sich die Formatierungsregeln zu merken und den Code entsprechend zu schreiben und zu überprüfen, ob der von anderen Entwicklern geschriebene Code den Formatierungsregeln entspricht, sodass er automatisch erfolgt. Es ist besser, einen Code-Formatierer mit demselben Format zu verwenden.
In Bezug auf den Zeitpunkt und die Methode zum Übergeben des Code-Formatierers: "Die Person, die den Code schreibt, übergibt den Formatierer jedes Mal." "Beim Speichern der Datei automatisch formatieren." "Beim Festschreiben automatisch formatieren." " Es gibt verschiedene Möglichkeiten, z. B. "Formatieren mit Befehlen über die Befehlszeile". Um zu vermeiden, dass das Formatieren vergessen wird, ist es besser, beim Speichern oder Festschreiben automatisch zu formatieren. Dies ist jedoch der Befehl über die Befehlszeile. In einigen Fällen ist es hilfreich, mit formatieren zu können. Aus diesem Grund möchte ich hier (obwohl es gewaltsam zu sein scheint) eine Methode zur Formatierung über die Befehlszeile für C-Sprachen vorstellen.
Eclipse
Eclipse ist eine bekannte integrierte Entwicklungsumgebung. Es wird hauptsächlich zum Entwickeln von Java-Programmen verwendet, kann jedoch zum Einfügen von Programmen in verschiedenen Sprachen verwendet werden, indem ein Plug-In eingefügt wird.
In Eclipse können Sie Formatierungsregeln für den gesamten Arbeitsbereich oder für jedes Projekt festlegen und diese über die GUI formatieren. Sie können sie jedoch auch über die Befehlszeile formatieren.
So formatieren Sie über die Befehlszeile, um die in Ihrem Projekt festgelegten Formatierungsregeln zu befolgen:
$ eclipse -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -config $PROJ_DIR/.settings/org.eclipse.jdt.core.prefs Hoe.java Fuga.java
Wobei $ PROJ_DIR
das oberste Verzeichnis des Projekts ist, für das Formatierungsregeln festgelegt sind.
Es scheint, dass derzeit nur Java über die Befehlszeile formatiert werden kann. Wenn Sie beispielsweise ein Plug-In für die C / C ++ - Programmentwicklung namens CDT installiert haben, können Sie den C / C ++ - Code über die GUI formatieren, aber anscheinend können Sie ihn nicht über die Befehlszeile formatieren. Es tut uns leid.
ClangFormat
ClangFormat ist ein Formatierer für C / C ++ / Objective-C / Objective-C ++, der mit Clang geliefert wird. Es kann über die Befehlszeile mit dem Befehl clang-format
verwendet werden.
So formatieren Sie beispielsweise mit dem Formatierungsstil von Google:
$ clang-format -i -style=google Hoe.h Hoe.cpp
Durch Hinzufügen von -i
wird die Originaldatei überschrieben.
Der Nachteil von ClangFormat ist, dass die Installation ziemlich umständlich ist (Sie müssen aus dem LLVM-Quellcode erstellen: Stand März 2014). Das erstellte "Clang-Format" funktioniert jedoch unabhängig voneinander. Wenn Sie es in einem Projekt verwenden, verwendet jeder die von einer Person erstellte Binärdatei, um den Unterschied im Verhalten aufgrund der unterschiedlichen Version des ursprünglichen Quellcodes zu verhindern. Wäre gut.
Artistic Style
(Künstlerischer Stil) [http://astyle.sourceforge.net/] ist ein Code-Formatierungswerkzeug für C / C ++ / C # / Objective-C / Objective-C ++ / Java.
So formatieren Sie beispielsweise C # -Code im Formatstil von Google:
$ astyle --style=google --mode=cs --suffix=none Hoe.cs Fuga.cs
Durch Hinzufügen von "--suffix = none" wird die Originaldatei überschrieben.
Eine detaillierte Beschreibung der Befehlszeilenoptionen wird durch Eingabe von "astyle --help" angezeigt.
SublimeAStyleFormatter
Als Frontend von Artistic Style gibt es Sublime AStyle Formatter, ein Plug-In für Sublime Text 2. Informationen hierzu finden Sie unter "Einführung eines Formatierers in Sublime Text 2".
Die Methode zum Anpassen des Verhaltens von Sublime AStyle Formatter ist relativ undokumentiert. Sie können sie jedoch auf der folgenden Seite verstehen.
Wenn Sie den Quellcode mit einem Skript usw. verarbeiten, möchten Sie möglicherweise die Formatierung für einen Teil des Quellcodes unterdrücken. In diesem Abschnitt wird die Unterdrückungsmethode für jeden Formatierer beschrieben.
Eclipse
Schließen Sie den Block, für den Sie die Formatierung unterdrücken möchten, mit "// @formatter: off" und "// @formatter: on" ein.
// @formatter:off
...
// @formatter:on
Dieses Tag muss jedoch in den Java-Formatierungseinstellungen aktiviert sein.
ClangFormat
Schließen Sie den Block, für den Sie die Formatierung unterdrücken möchten, mit "// clang-format off" und "// clang-format on" ein. (Referenz: CLANG-FORMAT STYLE OPTIONS)
// clang-format off
...
// clang-format on
Es scheint, dass diese Spezifikation ab 3.6 von ClangFormat gültig ist. Ich habe es mit 3.5 versucht und es wurde nicht erkannt.
Artistic Style
Schließen Sie den Block, für den Sie die Formatierung unterdrücken möchten, mit // * INDENT-OFF *
und // * INDENT-ON *
ein. (Referenz: Artistic Style 2.05)
// clang-format off
...
// clang-format on
Wir haben Eclipse, ClangFormat und Artistic Style als Werkzeuge zum Formatieren von Dateien über die Befehlszeile eingeführt. Persönlich denke ich, dass es Eclipse ist, wenn Sie mit Java + Eclipse, Clang Format oder Artistic Style entwickeln, wenn Sie in einer anderen C-Sprache als C # entwickeln, und Artistic Style, wenn Sie in C # entwickeln.
Recommended Posts