Остановить затмение от переноса строк? - PullRequest
33 голосов
/ 21 мая 2009

Есть ли способ получить затмение, чтобы прекратить стирание существующих разрывов строк? Если у меня есть такая сигнатура метода, я не могу понять, как получить затмение, чтобы оставить его в покое:

void foo(
    int arg1,
    int arg2,
    int arg3,
    int arg4)
{
    // ...
}

При различных настройках он либо сворачивает аргументы до одной строки, либо оборачивает их с некоторым запасом, как это:

void foo(
    int arg1, int arg2,
    int arg3, int arg4)
{
    // ...
}

С "Обтекать все элементы, каждый элемент на новой строке" он сохраняет этот пробел, но ВСЕГДА переносит, что не то, что я хочу. Я бы хотел, чтобы eclipse применила форматирование для отступов и фигурных скобок и т. Д., Просто не удаляя (или вставляя) разрывы строк.

Ответы [ 4 ]

32 голосов
/ 21 мая 2009

Форматирование аргументов старая тема , но одна новая функция форматирования, представленная в 3.5:

  • eclipse3.5M4 «Параметр форматирования для сохранения разрывов пользовательских строк» ​​

Форматировщик кода Java теперь может при желании сохранять разрывы строк пользователя, не объединяя строки в коде или комментариях.

Например, переносимые строки оператора возврата в следующем тестовом примере:

before
Пример кода для форматирования

будет сохраняться средством форматирования при использовании предпочтения «Никогда не соединять линии», и теперь выдает следующий результат:

after
Кодированный с форматированием никогда не соединять строки

Это предпочтение можно настроить на странице предпочтений Java > Code Style > Formatter. См. Параметр Never join lines на вкладке Line Wrapping и Comments.

Это может помочь, но в 3.5 не так много новых функций на этом фронте.

21 голосов
/ 23 марта 2011

Когда я использовал функцию «форматировать» в Eclipse в своем коде Java, он имел тенденцию разбивать или разбивать мои строки кода в разных местах, чтобы убедиться, что содержимое всегда будет соответствовать определенной ширине. Я обнаружил, что это менее чем оптимально, если у вас широкий монитор. Я решил эту проблему, выполнив следующие действия:

В eclipse 3.5 вы можете открыть настройки и выполнить поиск «Формат» или выбрать в левом меню Java -> Стиль кода -> Форматер . Профиль по умолчанию называется «Eclipse [встроенный]», и если вы хотите внести изменения в Java Formatter, вам нужно будет скопировать его и создать свой собственный профиль . Это можно сделать с помощью кнопки «Создать» прямо под именем профиля.

После того, как вы создали свой собственный Java Formatter в eclipse, убедитесь, что он выбран, и нажмите кнопку edit . Здесь есть много функций, которые вы можете настроить, но чтобы исправить проблему с обтеканием, я выбрал вкладку « Line Wrapping ». В общих настройках вы увидите « Максимальная ширина линии :». Это числовое значение - максимальная длина строки, с которой будет работать форматтер. Я увеличил свой разумный размер для более крупных мониторов, таких как 180 символов. Сохраните и примените это и вернитесь к своему коду.

Когда вы в следующий раз попытаетесь отформатировать java-файл, перенос строки должен произойти, только если вы превысили новый максимальный размер.

Счастливого кодирования!

9 голосов
/ 15 ноября 2010

Вы можете использовать комментарии для руководства по форматированию.

void foo( //
  int arg1, //
  int arg2, //
  int arg3, //
  int arg4)

сохранит разрывы строк в комментариях.

6 голосов
/ 21 мая 2009

Eclipse 3.5 поддерживает это. (Несколько дней назад он попал в релиз-кандидат, так что стоит проверить)

...