Zum Inhalt springen

Formatierung

Formatieren Sie Java und Kotlin mit elide format, das das mitgelieferte google-java-format (oder den Netflix-Dialekt jfmt) und ktfmt ausführt, oder führen Sie elide javaformat oder elide ktfmt einzeln aus.

Auf dieser Seite

Elide liefert google-java-format 1.37.0, Netflix jfmt 0.9.0 und ktfmt 0.65 mit. elide format führt die Formatierer für Java und Kotlin aus; elide javaformat und elide ktfmt führen jeweils einen aus.

elide format -- src
elide javaformat -- Hello.java src/main/java
elide ktfmt -- Hello.kt src/main/kotlin
0:12 / 0:12

Dateien und Verzeichnisse folgen nach -- und werden direkt überschrieben. Für jede Datei wird gemeldet, ob sie unverändert ist, neu geschrieben wurde, neu geschrieben würde oder nicht geparst werden konnte. javaformat akzeptiert außerdem -i:

elide javaformat -- -i Hello.java

Formatierung prüfen

-n oder --dry-run nach -- schreibt nichts und endet mit Exit-Code 1, wenn sich eine Datei ändern würde. --set-exit-if-changed wird akzeptiert; --check gibt es nicht.

elide format -- -n src
elide javaformat -- -n src/main/java
elide ktfmt -- -n src/main/kotlin

Im Prüfmodus melden zwei Elide-Optionen (vor --), was sich ändern würde:

elide format --list-files -- -n src
elide format --list-diffs -- -n src
elide format --list-diffs=5 -- -n src
OptionAusgabe
--list-filesPfade, die sich ändern würden, einer pro Zeile auf stdout.
--list-diffs=NUnified Diffs, wenn höchstens N Dateien abweichen, sonst Pfade. Verwenden Sie =N, keinen separaten Wert.

Beide funktionieren auch mit javaformat und ktfmt.

Formatierer-Flags

Alles nach -- wird an den Formatierer übergeben, auch Argumentdateien und Stilschalter (--google-style, --kotlinlang-style, --aosp):

elide ktfmt -- --google-style @kotlin-sources.txt

elide javaformat --help und elide ktfmt --help zeigen die Optionen von Elide und wie Sie die Hilfe des Formatierers anzeigen.

jfmt-Dialekt

--jfmt formatiert Java mit jfmt statt mit google-java-format: Blöcke mit 4 Leerzeichen, Fortsetzungszeilen mit 8 Leerzeichen, keine Spaltenbegrenzung, geschweifte Klammern um jeden Anweisungsrumpf und statische Imports nach den gewöhnlichen.

elide javaformat -- --jfmt src/main/java
elide format -- --jfmt -n src

jfmt hat einen festen Stil, daher lässt sich --jfmt nicht mit --aosp, --fix-imports-only, den --skip-*-Flags oder --lines, --offset und --length kombinieren. Die eigene Auflösung von Wildcard-Imports und die Kürzung qualifizierter Namen von jfmt werden nicht ausgeführt.

War diese Seite hilfreich?