Принудительная "одинаковая линия" на фигурных скобках в формататоре Eclipse - PullRequest
6 голосов
/ 19 октября 2011

В моем редакторе кода Java, в моем профиле (на самом деле это затмение по умолчанию) все варианты на вкладке «фигурные скобки» установлены на «та же строка». Тем не менее, когда у меня есть кусок кода, подобный этому:

interface TestI
    {
}

и я вызываю средство форматирования (связывание клавиш, контекстное меню и т. Д.), Все, что я получаю, это

interface TestI
{
}

он не перемещает открывающие скобки на одну и ту же строку, то же самое относится и к методам, операторам управления и т. Д., Затем, когда я вручную изменяю его на

interface TestI      {
}

затем форматирует его так:

interface TestI {
}

Таким образом, он в целом соответствует формату, который я сделал вручную, но форматирует только пробелы между фигурными скобками и другими элементами.

Другие параметры форматирования в моем устройстве форматирования работают так, как указано. Я использую последнюю версию Eclipse Indigo 3.7.1, у меня было то же самое с 3.7, и мой друг попробовал это с выпуском 3.5, так что это заставляет меня думать, что это нарочно, но опять же, почему есть эти "скобки" "вкладка вообще, если я не могу переформатировать код, используя это правило ...

Я надеюсь, что я что-то упустил, и что вы через мгновение сделаете меня глупым, и проблема исчезнет, ​​потому что у меня есть куча классов, которые нужно почистить, и я не хочу делать это вручную ... :)

ОБНОВЛЕНИЕ: когда я устанавливаю правило не «та же строка», а «следующая строка», тогда форматирование работает как положено, оно вызывает правило независимо от того, как я написал код, как только я изменю его обратно на « та же строка ", что форматировщик не применяет это правило.

Ответы [ 2 ]

14 голосов
/ 21 октября 2011

Нашел ... это было вызвано:

<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/> 

, который в графическом интерфейсе настройки Formatter находится в разделе "Перенос строк / Никогда не объединять уже перенесенные строки"

да, теперь я помню, как настраивал его, но я никогда не думал, что это отменит настройку скобок ...

Приятной особенностью средства форматирования было бы получение предупреждений, если вы устанавливаете параметры, которые запрещены, из-за других параметров, которые вы установили, переопределяют их.

0 голосов
/ 17 июля 2018

Для тех, кто интересуется, как это применить к инициализаторам массива, есть следующие настройки:

  • New Lines > After opening brace of array initializer
  • New Lines > Before closing brace of array initializer
...