Mam takie wyliczenia:
public static enum Command
{
login,
register,
logout,
newMessage
}
Podczas formatowania pliku wynik wygląda następująco:
public static enum Command
{
login, register, logout, newMessage
}
Mam takie wyliczenia:
public static enum Command
{
login,
register,
logout,
newMessage
}
Podczas formatowania pliku wynik wygląda następująco:
public static enum Command
{
login, register, logout, newMessage
}
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>FormatterEditLine Wrappingkartęenumtreenode deklaracjiLine wrapping policysię 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.ConstantstreenodeForce split, even if line shorter than maximum line widthUstawia 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.
Przykłady:
@wjans
enum Example {
CANCELLED,
RUNNING,
WAITING,
FINISHED
}
enum Example {
GREEN(
0,
255,
0),
RED(
255,
0,
0)
}
Rozwiązanie opisane powyżej:
enum Example {
CANCELLED,
RUNNING,
WAITING,
FINISHED
}
enum Example {
GREEN(0, 255, 0),
RED(255, 0, 0)
}
Możesz to określić w swoich preferencjach formatera:
To nie jest miłe, ale możesz wyłączyć formatowanie Eclipse dla niektórych sekcji kodu ...
// @formatter:off
public static enum Command {
login,
register,
logout,
newMessage
};
// @formatter:on
opcja znajduje się w Windows-> Preferencje-> Java-> Styl kodu-> Formatter-> Edycja-> Włącz / Wyłącz znaczniki
Dodam tylko najnowsze Eclipse 2018.9
Window > Preferences > Java > Code Style > Formatter - EditLine Wrappingwęzeł drzewa.Wrapping settings'enum' declarationConstantsi Constant arguments.Stałe muszą być Wrap all elements, every element on a new line. Muszą być ciągłe argumenty Wrap where necessary.