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


124

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

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

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

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


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 в системе управления версиями. Таким образом, все члены команды могут использовать его, и вы не будете постоянно переформатировать сражения.


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

12

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

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

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

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


2

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.