Eclipse: можете ли вы форматировать код при сохранении?

124

В Eclipse в разделе Windows-> Preference-> Java-> Code Styleвы можете определить шаблоны кода для комментариев и кода, а также настроить средство форматирования кода.

Мне интересно, возможно ли в Eclipse, чтобы эти настройки действовали каждый раз, когда я сохраняю исходный файл. По сути, вместо того, чтобы выделять все и нажимать Ctrl+ Shift+ F, я хочу, чтобы Eclipse отвечал за правильное форматирование моего кода.

Возможно ли это и как это настроить?

Примечание об использовании автоформатирования: вероятно, лучше всего выбрать «Форматировать отредактированные строки», поскольку объединение изменений становится очень трудным, когда вы переформатируете весь файл, который уже находится в системе управления версиями и не был отформатирован должным образом. Уже сделал это с сослуживцем.

Fostah
источник
4
Отличный вопрос, но я не согласен с включением «Форматировать отредактированные строки». Если вся группа имеет доступ к дескриптору XML одного и того же формата через SCM, тогда группе следует ожидать переформатирования файлов. Другими словами, краткосрочная боль, связанная с объединением, стоит выгоды от последовательного форматирования.
HDave
2
@HDave согласен. Код в любое время должен быть устойчивым к «исходному тексту формата» во всех проектах.
Торбьёрн Равн Андерсен
@ ThorbjørnRavnAndersen Если все используют эти настройки, вы можете выбрать «Форматировать отредактированные строки». Это сэкономит время, если ваши файлы большие. Я согласен с вами в том, что код должен быть устойчивым к «исходному тексту формата», но я думаю, что задача eclipse не в том, чтобы убедиться, что это так.
brimborium
@brimborium - политическое решение. Лично я считаю, что чем ближе вы останетесь к настройкам по умолчанию, тем плавнее будет работать.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Это будет означать, что опция автоматического форматирования будет отключена ...;) Я имею в виду, что я всегда сохраняю, за Ctrl+Shift+Fкоторым следует Ctrl+S, так что для меня это будет нормально, но есть и другие ребята, которым нет дела до форматирования. Эта функция делает нашу жизнь намного проще ...
brimborium

Ответы:

204

В разделе Preferencesвыберите Java-> Editor-> Save Actions. Установите Perform the selected actions on saveфлажок и установите Format source codeфлажок.

Это может быть доступно или недоступно в предыдущих версиях Eclipse. Я знаю, что это работает:

Version: 3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft<br>
Build id: M20080221-1800
Нил Свирер
источник
3
Это выглядит очень полезным - есть ли способ добиться того же для PHP-кода?
Vacilando 06
3
Хорошо, но как сделать то же самое для файлов, отличных от Java?
ᆼ ᆺ ᆼ
@ PéterVarga, если вы используете PyDev, проверьте это
grisaitis
1
Это выглядит очень полезным - есть ли способ добиться того же для кода C ++?
HAL9000,
15

Я настоятельно рекомендую проверить ваш XML-дескриптор формата eclipse в системе управления версиями. Таким образом, все члены команды могут использовать его, и вы не будете постоянно переформатировать сражения.

serg10
источник
Можно ли это сделать, чтобы XML-файл устанавливался по умолчанию?
HDave
12

У меня есть снимок обстановки. Пожалуйста, следуйте по пути:

В Preferencesокне выберите Java-> Editor-> Save Actions.

Проверьте Perform the selected actions on saveи проверьте файл Format source code box.

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

VdeX
источник
2

Если вы обнаружите, что у вас нет Save Actionsпредпочтений в Java-> Editor, возможно, вы используете старую версию Eclipse. В этом случае вы можете установить плагин Форматировать при сохранении отсюда .

Затем в разделе Preferencesвыберите Java-> Format on save. Выберите Run Formatвариант подSelect a code formatting action

М.А. Кишави
источник