Удаление пробелов из блока if else с помощью средства форматирования eclipse

В настоящее время у меня есть форматировщик Eclipse, настроенный для форматирования оператора if-else следующим образом:

if(condition) {
  return foo;
}
else{
  return bar;
}

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

В профиле форматировщика под Whitespace -> Control statements -> 'if else' нет опции для «после закрывающей круглой скобки». В разделе Blocks есть опция «перед открывающей скобкой», однако, похоже, это применимо только к ложному блоку (и в любом случае отключено).

Мне где-то не хватает опции - как я могу отключить этот пробел?

Я использую Eclipse Mars 4.5.0.


person Numeron    schedule 09.07.2015    source источник
comment
В Luna снятие отметки с before opening brace в блоках правильно удаляет пробелы. Вполне может быть ошибкой на Марсе. Хотя не уверен.   -  person Codebender    schedule 09.07.2015
comment
Я знаю, что верстка исходного кода - это деликатная тема. Но почему вы хотите так форматировать свой код?   -  person    schedule 09.07.2015
comment
Ах, да, я загрузил Luna, и похоже, что опция «перед открытием скобок» в блоках работает - так что это, должно быть, ошибка на Марсе.   -  person Numeron    schedule 09.07.2015
comment
@ EricGärtner Я хочу отформатировать свой код таким образом, потому что я так предпочитаю?   -  person Numeron    schedule 09.07.2015
comment
@Numeron Значит, вы работаете как один разработчик, а не в команде?   -  person    schedule 09.07.2015
comment
Вы можете проверить мой обновленный ответ.   -  person Kalyan Chavali    schedule 09.07.2015
comment
@ EricGärtner Я использую этот профиль для своей личной работы, но у всех разные предпочтения в отношении стиля кода, и нет правильного или неправильного. Мне нравится компактный код, парень, который сидит за мной на работе, любит разложенный код. 6 из одного, полдюжины другого.   -  person Numeron    schedule 09.07.2015
comment
Но как поделиться кодом в команде, если каждый разработчик форматирует код по-своему? Как предотвратить бесконечное слияние тривиальных изменений формата?   -  person    schedule 09.07.2015
comment
ИМО, единственное золотое правило форматирования заключается в том, что весь проект должен быть согласован - поэтому каждый должен использовать один и тот же формат .. Возможно, я был немного неясен - это для моей личной работы, форматтер, который я использую профессионально, отличается.   -  person Numeron    schedule 09.07.2015


Ответы (3)


Это связано с ошибкой Eclipse № 471145 (характерной для Mars / 4.5. 0), о котором было сообщено 26 июня 2015 г., исправлено 01.08.2015 и будет включено в Eclipse 4.5.1, который должен быть завершен и готов к загрузке к концу сентября 2015 года в рамках Скоординированный выпуск сервиса Mars.

person ziesemer    schedule 06.08.2015

Вы можете сделать это в Windows -> Preferences -> Java -> Code Style -> formatter -> Edit profile section.

введите описание изображения здесь


Я думаю, что это произойдет, когда вы выберете другой вариант в раскрывающемся списке, который вы можете увидеть ниже

введите описание изображения здесь

person Kalyan Chavali    schedule 09.07.2015
comment
Спасибо, но, как вы можете видеть на своем скриншоте, параметр после закрывающей круглой скобки не существует - person Numeron; 09.07.2015
comment
Можешь проверить сейчас? --- Раскрывающийся список - ›Параметры сортировки по элементу синтаксиса - person Kalyan Chavali; 09.07.2015
comment
О, да, это было там, и это сработало - не уверен, почему эта опция отсутствует в разделе «если еще». - person Numeron; 09.07.2015

Перейдите в Windows > Preferences > Java > Code Style > Formatter > White Space и в Control statements > Blocks снимите флажок "перед открытием скобки" :)

введите описание изображения здесь

person Mistalis    schedule 09.07.2015
comment
Это правильно для Luna (которую я только что тестировал) - похоже, причина, по которой он не работает для меня, должна быть из-за ошибки на Марсе. - person Numeron; 09.07.2015
comment
Ох, хорошо. Можно ли обновить версию Eclipse? :) - person Mistalis; 09.07.2015