Gibt es eine Variable im externen Formatierer (org.eclipse.jdt.core.formatter ......), um jede Aufzählungsvariable in einer separaten Zeile zu erzwingen?
Paramesh Korrakuti
Antworten:
198
Die Antwort von @wjans funktionierte gut für normale Aufzählungen, aber nicht für Aufzählungen mit Argumenten. Um seine Antwort ein wenig zu erweitern, hier die Einstellungen, die mir in Eclipse Juno die sinnvollste Formatierung ermöglichten:
Window> Preferences> Java> Code Style>Formatter
Klicken Edit
Wählen Sie die Line WrappingRegisterkarte
Wählen Sie den enumDeklarationstreenode aus
Stellen Sie Line wrapping policyzu Wrap all elements, every element on a new line (...)so heißt es nun 3 von 3 in der Klammer.
Deaktivieren Force split, even if line shorter than maximum line width (...)Sie das Kontrollkästchen , damit jetzt 3 von 3 in der Klammer steht.
Wählen Sie den ConstantsTreenode
Prüfen Force split, even if line shorter than maximum line width
Dadurch werden die 3 Unterknoten für den Enum-Treenode auf dieselbe Umbruchrichtlinie und dieselbe Force-Split-Richtlinie mit Ausnahme des ConstantsTreenode festgelegt, sodass Ihre Enums mit Argumenten jeweils in einer eigenen Zeile formatiert werden. Die Argumente werden nur umgebrochen, wenn sie die maximale Zeilenbreite überschreiten.
Sieht im Eclipse Previewer für mich immer noch falsch aus, aber als ich es an der eigentlichen Quelle ausprobiert habe, hat es wie ein Zauber funktioniert. Vielen Dank.
Ben Thurley
50
Sie können dies in Ihren Formatierungseinstellungen angeben:
Einstellungen: Java - Codestil - Formatierer
Klicken Sie auf Bearbeiten
Wählen Sie die Registerkarte "Zeilenumbruch"
Wählen Sie im Feld links die Option 'enum' -> Konstanten
Setzen Sie die Zeilenumbruchrichtlinie auf "Alle Elemente umbrechen, jedes Element in einer neuen Zeile".
Ich hatte dieses Problem seit Monaten. Das, was ich nicht ausprobiert habe, war "Force Split". Ich bin mir nicht sicher, warum es benötigt werden sollte, da Sie denken würden, dass "alle Elemente umschließen" tatsächlich alle Elemente umschließen würde! Danke für die Lösung.
LegendLength
11
Es ist auch etwas hässlich, aber wenn Ihre Unternehmensrichtlinie Sie daran hindert, den Formatierer zu ändern, können Sie einfach Kommentare an das Ende von Zeilen setzen, die nicht umbrochen werden sollen.
Das funktioniert ... irgendwie. Der Compiler hält es jetzt für einen Fehler. Das Einfügen in Kommentare überwindet dieses Problem wie // @formatter: off
Bob Kuhar
4
Sie müssen die Zeilenumbruchrichtlinie unter der Aufzählungsdeklaration für "Konstanten" festlegen.
Setzen Sie die Umbruchrichtlinie auf
Wickeln Sie alle Elemente, jedes Element in eine neue Zeile
UND
Aktivieren Sie das Kontrollkästchen "Force Split", auch wenn die Zeile kürzer als ,,,,, ist.
Antworten:
Die Antwort von @wjans funktionierte gut für normale Aufzählungen, aber nicht für Aufzählungen mit Argumenten. Um seine Antwort ein wenig zu erweitern, hier die Einstellungen, die mir in Eclipse Juno die sinnvollste Formatierung ermöglichten:
Window
>Preferences
>Java
>Code Style
>Formatter
Edit
Line Wrapping
Registerkarteenum
Deklarationstreenode ausLine wrapping policy
zuWrap all elements, every element on a new line (...)
so heißt es nun 3 von 3 in der Klammer.Force split, even if line shorter than maximum line width (...)
Sie das Kontrollkästchen , damit jetzt 3 von 3 in der Klammer steht.Constants
TreenodeForce split, even if line shorter than maximum line width
Dadurch werden die 3 Unterknoten für den Enum-Treenode auf dieselbe Umbruchrichtlinie und dieselbe Force-Split-Richtlinie mit Ausnahme des
Constants
Treenode festgelegt, sodass Ihre Enums mit Argumenten jeweils in einer eigenen Zeile formatiert werden. Die Argumente werden nur umgebrochen, wenn sie die maximale Zeilenbreite überschreiten.Beispiele:
@wjans
Die oben beschriebene Lösung:
quelle
Sie können dies in Ihren Formatierungseinstellungen angeben:
quelle
Es ist auch etwas hässlich, aber wenn Ihre Unternehmensrichtlinie Sie daran hindert, den Formatierer zu ändern, können Sie einfach Kommentare an das Ende von Zeilen setzen, die nicht umbrochen werden sollen.
quelle
Es ist nicht schön, aber Sie können den Eclipse-Formatierer für einige Codeabschnitte deaktivieren ...
Die Option befindet sich im Bereich Windows-> Einstellungen-> Java-> Codestil-> Formatierer-> Bearbeiten-> Aus / Ein-Tags
quelle
Sie müssen die Zeilenumbruchrichtlinie unter der Aufzählungsdeklaration für "Konstanten" festlegen.
Setzen Sie die Umbruchrichtlinie auf
UND
quelle
Fügen Sie einfach die neueste Eclipse 2018.9 hinzu
Window > Preferences > Java > Code Style > Formatter
- -Edit
Line Wrapping
.Wrapping settings
'enum' declaration
Constants
undConstant arguments
.Konstanten müssen sein
Wrap all elements, every element on a new line
. Konstante Argumente müssen seinWrap where necessary
.quelle