Предотвращение разрывов строк с помощью программы кодирования затмения - PullRequest
1 голос
/ 21 февраля 2020

Я использую средство форматирования Eclipse с включенной опцией сохранения.

Прямо сейчас код, подобный этому:

 int sum = widgets.stream()
                  .filter(b -> b.getColor() == RED)
                  .mapToInt(b -> b.getWeight())
                  .sum();

будет отформатирован в:

 int sum = widgets.stream().filter(b -> b.getColor() == RED).mapToInt(b -> b.getWeight())
                  .sum();

есть ли настройка, которая будет делать автоматический перевод строки для всего, кроме каскадных вызовов функций?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

Для общего случая добавьте комментарии:

int sum = widgets.stream() //
     .filter(b -> b.getColor() == RED) //
     .mapToInt(b -> b.getWeight()) //
     .sum();

Это работает для любого вида кода, особенно для больших строк:

String str = "some long text" //
    + "some more text" //
    + "still more";
0 голосов
/ 21 февраля 2020

Шаги для форматирования вызовов каскадных функций:

1. Window => Preferences => Java => Стиль кода => Formatter

2 . Нажмите Редактировать.

3. Разверните перенос строки => Настройки переноса => Вызовы функций

4. Изменить Квалифицированные вызовы до Обернуть все элементы, кроме первого, если это не нужно, .

  • Кроме того, обеспечить Сила разделения, даже если строка короче максимальной ширины линии переключается на .

См. Изображение ниже, чтобы увидеть, как оно выглядит при правильной настройке:

Qualified Invocation Location

5. При необходимости измените имя профиля.

6. Применить и закрыть.

...