Eclipse - это код форматирования в одну сторону, а затем другой, перебрасывая отдельные биты кода назад и вперед попеременно каждый раз, когда он используется.Формат Eclipse форматирует каждый раз каждый раз (и не разделяет строку)
Что я здесь сделал неправильно?
Вот первое состояние:
public static void main(final String[] args) {
String dir = System.getenv(EtlConstants.ENVVAR_PROPERTIES_DIR);
if (dir != null
&& ("\\".equals(dir.charAt(dir.length() - 2)) || "/".equals(dir.charAt(dir.length() - 2)))) {
dir = dir.substring(0, dir.length() - 1);
}
}
и это чередуется с этим:
public static void main(final String[] args) {
String dir = System.getenv(EtlConstants.ENVVAR_PROPERTIES_DIR);
if (dir != null
&& ("\\".equals(dir.charAt(dir.length() - 2)) || "/".equals(dir.charAt(dir.length() - 2)))) {
dir = dir.substring(0, dir.length() - 1);
}
}
Разница вкладка во второй строке, если заявление.
Я пытаюсь получить форматирование, чтобы обернуть ту же строку и в ||
, но я не могу понять, почему он переливается между этими двумя состояниями. Очевидно, это взаимодействие двух отдельных правил, но что?
EDIT: Это с Eclipse Luna 4.4.0.
EDIT 2: Я использую CTRL +сек, потому что я установил Eclipse, чтобы сделать формат при сохранении. Это, очевидно, один из других Save действий, которые вызывают формат изменение:
- формата всех линии
- организовать импорт
- конвертированы управление заявлением органов блокировать
- добавить окончательный модификатор к закрытым полям
- добавить окончательный модификатор метод параметры
- добавить отсутствующие аннотаций «» @Override
- добавить недостающие аннотации «» @Override для реализации методов интерфейса
- добавить недостающие аннотаций «@Deprecated»
- удалить ненужные слепков
- удалить завершающие пробелы на всех линиях
- правильно отступы
EDIT 3: Я только что удалили последний Сохраните действие, и это больше не приводит к тому, что эта линия скатывается назад и вперед.
Так спасибо всем вам люди, ссылающихся форматера с CTRL +SHIFT + ф - что коммутируемой свет, потому что я понял, что я использовал CTRL +сек все время.
Невозможно воспроизвести. Для меня он отбрасывает '&&' как во втором коде, но также разделяет длинную строку (во 2-й «charAt', а не на' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' , ИМХО, это выглядит ужасно. Я использую только автоформат, чтобы исправить полностью испорченный код. –
Невозможно воспроизвести в Eclipse Kepler SR1. Окно> Настройки> Java> Стиль кода> Formatter> Изменить ...> Обтекание строк> * Отступ по умолчанию для завернутых строк * и * Никогда не присоединяйте уже завернутые строки * и * Предпочитаете обертывание внешних выражений * – gknicker