Как остановить Eclipse formatter от размещения всех перечислений на одной строке
у меня есть перечисления, такие как:
public static enum Command
{
login,
register,
logout,
newMessage
}
при форматировании файла вывод становится:
public static enum Command
{
login, register, logout, newMessage
}
5 ответов:
ответ @wjans отлично работал для обычных перечислений, но не для перечислений с аргументами. Чтобы немного расширить его ответ, вот настройки, которые обеспечили наиболее разумное форматирование для меня в Eclipse Juno:
Window
>Preferences
>Java
>Code Style
>Formatter
- клик
Edit
- выберите
Line Wrapping
tab- выберите
enum
объявление treenode- Set
Line wrapping policy
доWrap all elements, every element on a new line (...)
так что теперь он говорит 3 из 3 в скобках.- убрать
Force split, even if line shorter than maximum line width (...)
так что теперь он говорит 3 из 3 в скобках.- выберите
Constants
treenode- Регистрация
Force split, even if line shorter than maximum line width
это устанавливает 3 подузла для перечисления treenode в ту же политику обертывания и ту же политику разделения силы, за исключением
Constants
treenode, поэтому ваши перечисления с аргументами будут отформатированы каждый на своей собственной строке. Аргументы будут только если они превышают максимального ширина.примеры:
@wjans
enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN( 0, 255, 0), RED( 255, 0, 0) }
описанное выше решение:
enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN(0, 255, 0), RED(255, 0, 0) }
вы можете указать это в настройках форматирования:
- Настройки: Java -- Стиль Кода -- Formatter
- Нажать Редактировать
- выберите вкладку "перенос строки"
- выберите объявление' enum ' - > константы в поле слева
- установите политику обертывания строк ,чтобы "обернуть все элементы, каждый элемент на новой строке"
- проверить силу раскола...-
это тоже немного некрасиво, но если ваша политика компании мешает вам изменить форматер, вы можете просто поместить комментарии в конце строк, которые вы не хотите обернуть.
public static enum Command { login,// register,// logout,// newMessage// };
это не очень хорошо, но вы можете отключить Eclipse formatter для некоторых разделов кода...
// @formatter:off public static enum Command { login, register, logout, newMessage }; // @formatter:on
опция находится в панели Windows - > настройки - > Java - >стиль кода - >форматер - >редактировать - >Off / On Tags