2009-11-13 11 views
10

Gibt es ein Befehlszeilen-Unix-Tool, das den Quellcode in verschiedenen Sprachen formatiert/einbrennt? Ich interessiere mich besonders für Java, JavaScript, PHP und XML, aber idealerweise würde es mit anderen umgehen.Mehrsprachiger Befehlszeilen-Quellcode Formatierer

(Ich bin nicht auf der Suche nach etwas, Syntax-Hervorhebung Markup zu erzeugen; ich schon von einigen Tools kennen, die das tun.)

+1

Ich habe eine ähnliche Frage auf askubuntu gestellt: [Wie man alle Quelldateien in einem bestimmten Verzeichnis neu formatiert/einfügt?] (Http://askubuntu.com/questions/98164/how-to-reformat-reindend-all- das-source-files-in-a-given-Verzeichnis) – fdierre

+0

Ich habe es nicht selbst ausprobiert, aber ich denke, das ist vielversprechend: https://github.com/google/google-java-format –

+0

verschiedene andere Optionen zu tun dies [kann hier gefunden werden] (https://alternativeto.net/software/artistic-style/) –

Antwort

1

Ich habe immer gefunden Vim Code Formatierer eine gute Option. Es kennt viele Sprachen und kann einigermaßen angepasst werden.

Sie können über die Pipeline der entsprechenden Befehle in vim wie folgt aus:

vim MyClass.java <<< gg=G:wq 

Erläuterung:

  • gg=G formatiert die Datei
  • :wq speichert die Datei und kehrt zur Eingabeaufforderung
+0

Jep tun Sie einfach gg = G. – Christian

+0

Leider funktioniert das nicht gut, wenn Sie mehrere Java-Annotationen vor einer Methode haben (zB '@ Override',' @ Deprecated') –

4

Künstlerischer Stil. http://astyle.sourceforge.net/

+0

, die mit Homebrew auf einem Mac installiert werden kann, indem Sie 'brew install astyle' –

+0

und verschiedene andere Möglichkeiten, dies zu tun [kann hier gefunden werden] (https://alternativeto.net/software/artistic-style/) –

0

Vim verfügt im Allgemeinen über eine automatische Syntaxhervorhebung und ist bei der Installation auf den meisten Unix-basierten Systemen verfügbar. Zum Formatieren und Einrücken in Vim verwende ich die :set autoindent und :set tabstop=4 automatisch, wenn ich es starte. autoindent behält die aktuelle Einrückung bei, wenn Sie eine neue Zeile beginnen, und tabstop legt fest, wie stark Ihr Code eingerückt ist, wenn Sie die Tabulatortaste drücken (nur für Einrückung, für Registerkarte mit allgemeiner Verwendung shiftwidth). Um diese Optionen beim Start von Vim zu konfigurieren, fügen Sie sie in eine ~/.vimrc Datei ein.

0

Für XML und HTML habe ich htb verwendet.

Wenn Sie ein Eclipse-Benutzer sind, ist JTidy eine weitere Option.

Für Java gibt es Jalopy.

3

Wenn Sie Ihre Auto-Formatierungsoptionen wie projektspezifische Einstellungen in Eclipse eingestellt haben, können Sie so etwas wie tun:

/opt/local/eclipse/eclipse -nosplash 
-application org.eclipse.jdt.core.JavaCodeFormatter 
-verbose 
-config .settings/org.eclipse.jdt.core.prefs 
src/ tests/ doc/examples/ 

Das bedeutet, dass Sie praktisch installieren und Eclipse wenn auch nur für diesen Zweck konfigurieren für die Verwendung von Es sind Autoformatierungsfunktionen, unabhängig davon, welchen Editor Sie normalerweise verwenden. :)

Quelle: http://blogs.operationaldynamics.com/andrew/software/java-gnome/eclipse-code-format-from-command-line

Zusätzliche Hinweise

Unter Mac OS X:

/Applications/eclipse/java-oxygen/Eclipse.app/Contents/MacOS/eclipse -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config ~/my-eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs MyClass.java 
+1

Toller Tipp. Ich hoffe, es macht dir nichts aus, wenn ich das Mac-Äquivalent hinzufüge. –

0

So bringe ich um Ihre Aufmerksamkeit Stil Revisor, Quellcode-Formatierer mit GUI und Befehlszeile Schnittstelle. Es wird verschiedene Sprachen unterstützen, einschließlich JavaScript und PHP. Wenn Sie an der Verwendung von Befehlszeilen interessiert sind, können Sie Ihren eigenen Formatierungsstil als Addon definieren. Natürlich können Sie auch viele vordefinierte Stile verwenden.Beispiel:

./Style\ Revisor --lang=PHP --style=GNU --path=~/to-your-project-root-dir 

Gegenwärtig unterstützt Style Revisor zwei Sprachen: C und Objective-C. Willkommen: http://style-revisor.com/

Mit freundlichen Grüßen.

+0

Klingt vielversprechend! –

+0

In der Tat habe ich lange gesucht. Wenn es für den Gebrauch bereit ist, werde ich Vim-Unterstützung über mein Autoformat-Plugin https://github.com/Chiel92/vim-autoformat hinzufügen. Schade, dass es nicht Open Source ist. –

+0

Autoformat-Plugin für Vim? Es ist cool. –