Как остановить форматирование Eclipse от размещения всех перечислений на одной строке - программирование
Подтвердить что ты не робот

Как остановить форматирование Eclipse от размещения всех перечислений на одной строке

У меня есть перечисления вроде:

public static enum Command
{
login,
register,
logout,
newMessage
}

При форматировании файла выход будет выглядеть следующим образом:

public static enum Command 
{
login, register, logout, newMessage
}
4b9b3361

Ответ 1

Ответ от @wjans работал нормально для обычных перечислений, но не для перечислений с аргументами. Чтобы немного расширить его ответ, вот настройки, которые обеспечили наиболее разумное форматирование для меня в Eclipse Juno:

  • Window > Preferences > Java > Code Style > Formatter
  • Нажмите Edit
  • Выберите вкладку Line Wrapping
  • Выберите tlineode объявления enum
  • Установите 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 поднода для tuneode перечисления в одну и ту же политику обертывания и одну и ту же стратегию разделения полномочий, за исключением 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)
}

Ответ 2

Вы можете указать это в настройках форматирования:

  • Предпочтения: Java - Code Style - Formatter
  • Нажмите "Изменить"
  • Выберите вкладку "Линейная упаковка"
  • Выберите объявление "enum" → Константы в поле слева
  • Установите политику переноса строк на "Обернуть все элементы, каждый элемент в новой строке"
  • Отметьте 'Сила split...'

Ответ 3

Это тоже немного уродливо, но если ваша политика компании мешает вам изменить форматтер, вы можете просто поместить комментарии в конец строк, которые вы не хотите обертывать.

public static enum Command 
{
    login,//
    register,//
    logout,//
    newMessage//
};

Ответ 4

Это не приятно, но вы можете отключить форматирование Eclipse для некоторых разделов кода...

// @formatter:off
public static enum Command {
    login,
    register,
    logout,
    newMessage
};
// @formatter:on

этот параметр находится в панели "Windows- > Настройки- > Java- > " Стиль кода- > Фортетера- > Редактировать- > Выкл./Вкл.

Ответ 5

Вам нужно установить политику переноса строк в объявлении enum для "Constants".

Задайте политику упаковки

  • Оберните все элементы, каждый элемент на новой строке

И

  • Установите флажок "Сплит силы", даже если линия меньше, чем,,,