Ответы:
В дополнение к ответу Дипака Азада вам точно понадобится следующее:
Windows : Окно → Настройки → Java → Стиль кода
→ Форматирование → Редактировать → Перенос строк (вкладка)Mac OS : ADT → Настройки → Java → Стиль кода
→ Форматирование → Редактировать → Перенос строк (вкладка)
Затем в списке слева выберите:
Вызов функций → Квалифицированные вызовы
Теперь под этим списком установите для политики переноса строк значение:
Оберните все элементы, кроме первого, если не нужно
Проверить :
Принудительное разделение, даже если линия короче максимальной ширины линии
Наконец, установите для политики отступов значение (спасибо @Turbo ):
Отступ столбца
Он должен дать вам точное поведение, о котором вы просили.
БОНУС: Android Studio / IntelliJ Идея:
Mac OS : Android Studio → Настройки (
Cmd +,
) → Редактор → Стиль кода → Java → вкладка Обтекание и фигурные скобки → Связанные вызовы методов
Выбрать
Заворачивать всегда
и проверьте
Выровнять при многострочном
Indent on column
, иногда добавляется дополнительное пространство; например session.createQuery
становится session .createQuery
и так далее. Однако возврат к параметру по умолчанию решил проблему для меня.
Окно → Настройки → Java → Стиль кода → Форматировщик → Редактировать → Перенос строк → Никогда не объединять уже перенесенные строки
I am sorry i did not explain: It won't format it. It will simply not mess it up, if you do it manually. –
Window> Preferences> Java> Code Style> Formater> Edit> Line wrapping> Function Calls, установите «Политика переноса строк» как «Переносить все элементы, каждый элемент на новую строку».
Для тех, у кого настройки форматирования кода eclipse проверены в системе управления версиями (для согласованного форматирования кода во всей команде), .settings
папка проверяется.
Свойство, обеспечивающее такое поведение форматирования, находится в .settings/org.eclipse.jdt.core.prefs
файле.
Имущество:
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
Если вы хотите выполнить форматирование этих сегментов самостоятельно, вы можете предотвратить переформатирование этих сегментов в eclipse, используя:
// @formatter:off
...
// @formatter:on
Возможно, вам потребуется включить это в своих предпочтениях: http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter
См. Также: Как отключить средство форматирования кода Eclipse для определенных разделов кода Java?
в: Window-> Preferences-> Java-> Code Style-> Formater-> Edit-> Line wrapping-> Function call-> Qualified invocation
выберите политику отступов как отступ в столбце
return new SomeClass().A().B().C();
каждого вызова метода в отдельной строке.