Eclipse Formatter: Как избежать отступа объявления метода после аннотации?

У меня есть объявление метода с аннотацией, которая отформатирована Eclipse Mars следующим образом:

@Override
        void addLoadShiftingConstraints() throws NoSuchDataException {
    //method body
}

Я бы не хотел делать отступ для объявления метода:

@Override
void addLoadShiftingConstraints() throws NoSuchDataException {
    //method body
}

В настоящее время у меня есть следующие настройки форматирования для объявления метода:

Щелкните правой кнопкой мыши Project => Properties => Java Code Style => Formatter => Редактировать активный профиль => LineWrapping => Объявление метода => Объявление => Обтекание при необходимости

Если бы я выбрал вариант " Не переносить", нежелательный отступ исчез бы. Тем не менее, я хотел бы сохранить упаковку для длинных объявлений.

Это ошибка Eclipse или есть дополнительная настройка для аннотаций, которую мне нужно изменить, чтобы избежать отступа?

2 ответа

Решение

Это действительно ошибка ( связанная). Обходной путь - установить параметр "Не переносить", как вы описали, или добавить модификатор доступа, например private,

(Невозможно комментировать из-за недостаточной репутации, но нашел этот ответ в результате поиска, и он относится ко второй ситуации.)

Я столкнулся с аналогичной проблемой с отступом локальных переменных, который вступил в силу только тогда, когда комментарий был добавлен после аннотации. Ответ @ Стефана тоже сработал.

 @SuppressWarnings("JavaReflectionMemberAccess") // implicit method Enum#valueOf(String)
 Method method = class_.getMethod("valueOf", String.class);

был переформатирован в

@SuppressWarnings("JavaReflectionMemberAccess") // implicit method Enum#valueOf(String)
        Method method = class_.getMethod("valueOf", String.class);

но был исправлен с добавлением final модификатор:

@SuppressWarnings("JavaReflectionMemberAccess") // implicit method Enum#valueOf(String)
final Method method = class_.getMethod("valueOf", String.class);
Другие вопросы по тегам