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

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

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

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

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

Отличный вопрос, но я не согласен с включением «Форматировать отредактированные строки». Если вся команда имеет доступ к дескриптору XML одного и того же формата через SCM, тогда группе следует ожидать переформатирования своих файлов. Другими словами, краткосрочная проблема слияния стоит выгоды от последовательного форматирования.

HDave 07.12.2011 19:37

@HDave согласен. Код в любое время должен быть устойчивым к «исходному тексту формата» во всех проектах.

Thorbjørn Ravn Andersen 29.05.2012 18:36

@ ThorbjørnRavnAndersen Если все используют эти настройки, вы можете выбрать «Форматировать отредактированные строки». Это сэкономит время, если ваши файлы большие. Я согласен с вами в том, что код должен быть устойчивым к «исходному тексту формата», но я думаю, что задача eclipse не в том, чтобы удостовериться в этом.

brimborium 20.07.2012 13:49

@brimborium - политическое решение. Лично я считаю, что чем ближе вы останетесь к настройкам по умолчанию, тем плавнее будет работать.

Thorbjørn Ravn Andersen 20.07.2012 13:58

@ ThorbjørnRavnAndersen Это будет означать, что опция автоматического форматирования будет отключена ...;) Я имею в виду, я всегда сохраняю Ctrl+Shift+F, а затем Ctrl+S, так что для меня это будет нормально, но есть и другие ребята, которым плевать . Эта функция делает нашу жизнь намного проще ...

brimborium 20.07.2012 14:21

Ага. Eclipse форматирует тривиальные, не зависящие от поведения свойства получателя / установщика в многострочные функции. Поскольку исследования показали, что понимание кода и производительность тесно связаны с использованием вертикального пространства, я рекомендую сохранять тривиальные свойства компактными; 3-4 строки, включая комментарий и оба геттера / сеттера. Автоформат предназначен для низкоэффективных команд, но не для высококвалифицированных.

Thomas W 02.03.2013 06:16

это должно быть худшая идея когда-либо

Oliver Watkins 27.02.2018 11:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
125
7
71 992
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

В 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

Это выглядит очень полезным - есть ли способ добиться того же для PHP-кода?

Vacilando 06.03.2012 17:13

Хорошо, но как сделать то же самое для файлов, отличных от Java?

ᆼᆺᆼ 26.06.2012 12:12

@ PéterVarga, если вы используете PyDev, Проверь это

grisaitis 29.06.2012 22:42

Это выглядит очень полезным - есть ли способ добиться того же для кода C++?

HAL9000 24.12.2012 13:27

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

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

HDave 07.12.2011 19:32

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

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

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

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

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

Другие вопросы по теме