Czy w zewnętrznym programie formatującym (org.eclipse.jdt.core.formatter ......) jest jakaś zmienna, która wymusza każdą zmienną wyliczenia w oddzielnym wierszu?
Paramesh Korrakuti
Odpowiedzi:
198
Odpowiedź @wjans działała dobrze w przypadku normalnych wyliczeń, ale nie w przypadku wyliczeń z argumentami. Aby nieco rozwinąć jego odpowiedź, oto ustawienia, które zapewniły mi najbardziej sensowne formatowanie w Eclipse Juno:
Window> Preferences> Java> Code Style>Formatter
Kliknij Edit
Wybierz Line Wrappingkartę
Wybierz enumtreenode deklaracji
Ustaw Line wrapping policysię Wrap all elements, every element on a new line (...)tak, że teraz mówi 3 z 3 w nawiasach.
Usuń zaznaczenie, Force split, even if line shorter than maximum line width (...)aby teraz w nawiasach było napisane 3 z 3.
Wybierz Constantstreenode
Czek Force split, even if line shorter than maximum line width
Ustawia to 3 podwęzły dla enum treenode na te same zasady zawijania i te same zasady force split z wyjątkiem Constantstreenode, więc twoje wyliczenia z argumentami zostaną sformatowane w osobnym wierszu. Argumenty będą zawijane tylko wtedy, gdy przekroczą maksymalną szerokość linii.
Miałem ten problem od miesięcy. Rzeczą, której nie próbowałem, był „podział siły”. Nie jestem pewien, dlaczego miałoby to być potrzebne, ponieważ można by pomyśleć, że „zawiń wszystkie elementy” w rzeczywistości zawinie wszystkie elementy! Dzięki za rozwiązanie.
LegendLength,
11
Jest to również trochę brzydkie, ale jeśli polityka Twojej firmy uniemożliwia zmianę programu formatującego, możesz po prostu umieścić komentarze na końcu wierszy, których nie chcesz zawijać.
Odpowiedzi:
Odpowiedź @wjans działała dobrze w przypadku normalnych wyliczeń, ale nie w przypadku wyliczeń z argumentami. Aby nieco rozwinąć jego odpowiedź, oto ustawienia, które zapewniły mi najbardziej sensowne formatowanie w Eclipse Juno:
Window
>Preferences
>Java
>Code Style
>Formatter
Edit
Line Wrapping
kartęenum
treenode deklaracjiLine wrapping policy
sięWrap all elements, every element on a new line (...)
tak, że teraz mówi 3 z 3 w nawiasach.Force split, even if line shorter than maximum line width (...)
aby teraz w nawiasach było napisane 3 z 3.Constants
treenodeForce split, even if line shorter than maximum line width
Ustawia to 3 podwęzły dla enum treenode na te same zasady zawijania i te same zasady force split z wyjątkiem
Constants
treenode, więc twoje wyliczenia z argumentami zostaną sformatowane w osobnym wierszu. Argumenty będą zawijane tylko wtedy, gdy przekroczą maksymalną szerokość linii.Przykłady:
@wjans
Rozwiązanie opisane powyżej:
źródło
Możesz to określić w swoich preferencjach formatera:
źródło
Jest to również trochę brzydkie, ale jeśli polityka Twojej firmy uniemożliwia zmianę programu formatującego, możesz po prostu umieścić komentarze na końcu wierszy, których nie chcesz zawijać.
źródło
To nie jest miłe, ale możesz wyłączyć formatowanie Eclipse dla niektórych sekcji kodu ...
opcja znajduje się w Windows-> Preferencje-> Java-> Styl kodu-> Formatter-> Edycja-> Włącz / Wyłącz znaczniki
źródło
Musisz ustawić zasady zawijania wierszy w deklaracji wyliczenia dla „Stałych”.
Ustaw zasadę zawijania na
I
źródło
Dodam tylko najnowsze Eclipse 2018.9
Window > Preferences > Java > Code Style > Formatter
-Edit
Line Wrapping
węzeł drzewa.Wrapping settings
'enum' declaration
Constants
iConstant arguments
.Stałe muszą być
Wrap all elements, every element on a new line
. Muszą być ciągłe argumentyWrap where necessary
.źródło