Интеллект переформатировать при сохранении файла - PullRequest
291 голосов
/ 04 июня 2009

Я помню, что в IntelliJ или Eclipse я видел настройки для переформатирования (очистки) файлов при их сохранении. Как мне его найти (не нашел в настройках)

Ответы [ 11 ]

409 голосов
/ 07 апреля 2011

У меня получилось лучше:

  1. Создание макроса (я использовал Упорядочить импорт, Форматировать код, Сохранить все)
  2. Назначьте ему нажатие клавиши (я переопределил Ctrl + S )

Примечание. При организованном импорте вам придется сначала поставить флажок «Больше не показывать это сообщение», но после этого он будет работать, как и ожидалось.

Пошаговая инструкция для IntelliJ 10.0:

  1. Код -> «Оптимизировать импорт ...», если появляется диалоговое окно, установите флажок «Больше не показывать это сообщение», затем нажмите «Выполнить».
  2. Инструменты -> «Начать запись макроса»
  3. Код -> «Оптимизировать импорт ...»
  4. Код -> «Код переформатирования ...»
  5. Файл -> «Сохранить все»
  6. Инструменты -> "Остановить запись макроса"
  7. Назовите макрос (что-то вроде "отформатированное сохранение")
  8. В File -> Settings -> Keymap выберите ваш макрос, расположенный в «Main Menu -> Tools ->« formatted save »
  9. Нажмите «Добавить сочетание клавиш», затем нажмите клавишу, которую вы хотите. Если вы выберете Ctrl + S , как я, он спросит вас, что делать с предыдущим Ctrl + S . Убери это. Вы всегда можете переназначить его позже, если хотите.
  10. Наслаждайтесь!

Для IntelliJ 11 заменить

шаг 2. с помощью: Правка -> Макросы -> «Начать запись макроса»
шаг 6. с помощью: Правка -> Макросы -> «Остановить запись макроса»

Все остальное остается прежним.

IntelliJ 12

8. Настройки содержат настройки Keymap. Используйте поле ввода для фильтрации содержимого, как показано на скриншоте.

Intellij / Preferences / Keymap / Macros

173 голосов
/ 26 февраля 2015

Я предлагаю плагин сохранения действий . Он также поддерживает оптимизацию импорта и реорганизации кода.

Хорошо работает в сочетании с плагином eclipse formatter .

Поиск и активация плагина:

enter image description here

Настройте его:

enter image description here

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

Этот выпуск плагина github дает подсказку о некоторых возможных решениях:

https://github.com/dubreuia/intellij-plugin-save-actions/issues/63

Я на самом деле пытался назначить переформатирование для Ctrl + S , и оно работало нормально - сохранение теперь выполняется автоматически.

83 голосов
/ 20 июля 2014

Ниже обновленный ответ Нейла.

IntelliJ 13 шагов:

  1. Код -> Переформатировать код enter image description here
  2. Редактировать -> Макросы -> Начать запись макросов
  3. Код -> Код переформатирования
  4. Файл -> Сохранить все
  5. Редактировать -> Макросы -> Остановить запись макроса
  6. Назовите макрос (что-то вроде "отформатированное сохранение")
  7. Файл -> Настройки -> Карта клавиш
  8. Щелкните правой кнопкой мыши макрос. Добавить сочетание клавиш. Установите сочетание клавиш Control + S. enter image description here
  9. IntelliJ сообщит вам о конфликте горячих клавиш. Выберите «удалить», чтобы удалить другие назначения.
60 голосов
/ 16 июня 2009

Я установил автоматическую очистку при регистрации, что обычно достаточно для меня. Если что-то слишком уродливо, я просто нажму на ярлык ( Ctrl - Alt - L , Return ). И я вижу, что у них есть опция для автоматического форматирования вставленного кода, хотя я никогда не использовал это.

18 голосов
/ 17 июня 2009

Ctrl + Alt + L - формат файла (включает два приведенных ниже)

Ctrl + Alt + O - оптимизировать импорт

Ctrl + Alt + I исправит отступ в определенной строке

Обычно я запускаю Ctrl + Alt + L несколько раз, прежде чем приступить к работе. Я предпочел бы выполнить очистку / переформатирование по моей команде, а не автоматически.

11 голосов
/ 19 ноября 2018

Если у вас InteliJ Idea Community 2018.2, шаги следующие:

  1. В верхнем меню вы нажимаете: «Правка»> «Макросы»> «Начать запись макросов». (вы увидите окно в правом нижнем углу экрана, подтверждающее что макросы записываются)
  2. В верхнем меню вы нажимаете: Код> Переформатировать код (вы увидите вариант, выбранный в нижней правый угол)
  3. В верхнем меню вы нажимаете: Код> Оптимизировать импорт (вы увидите выбранный вариант в правом нижнем углу)
  4. В верхнем меню вы нажимаете: Файл> Сохранить все
  5. В верхнем меню вы нажимаете: «Правка»> «Макросы»> «Остановить запись макросов»
  6. Вы называете макрос: «Форматировать код, Организовать импорт, Сохранить»
  7. В верхнем меню у вас часы: Файл> Настройки. В окнах настроек вы нажимаете Keymap
  8. В окне поиска справа вы ищете «сохранить». Вы найдете Сохранить все (Ctrl + S). Щелкните правой кнопкой мыши на нем и выберите «Удалить Ctrl + S»
  9. Удалите текст поиска из поля, нажмите кнопку «Свернуть все» (вторая кнопка слева вверху)
  10. Перейдите к макросам, нажмите на стрелку, чтобы развернуть ваши макросы, найдите сохраненный макрос и щелкните по нему правой кнопкой мыши. Выберите Добавить сочетание клавиш, нажмите Ctrl + S и все в порядке.

Перезагрузите IDE и попробуйте.

Я знаю, что вы собираетесь сказать, ребята до меня написали то же самое. Но я запутался, используя шаги выше этого поста, и я хотел написать тупую версию для людей, которые имеют последнюю версию IDE.

9 голосов
/ 02 мая 2018

Если вы разрабатываете во Flutter, с 01.05.2008 г. существует новая экспериментальная опция, которая позволяет форматировать код при сохранении. Settings

8 голосов
/ 14 июня 2014

Я в итоге связал действие Reformat code... с Ctrl - S , заменив привязку по умолчанию для Save All.

Поначалу это может показаться сумасшедшим, но IntelliJ, похоже, экономит практически на каждом действии: запуске тестов, создании проекта, даже при закрытии вкладки редактора. У меня есть привычка часто нажимать Ctrl - S , так что на самом деле это работает довольно хорошо для меня. Это, конечно, легче набрать, чем связывание по умолчанию для переформатирования.

4 голосов
/ 24 апреля 2016

IntellIJ 14 && 15: Когда вы проверяете код в диалоговом окне «Принять изменения», установите флажок «Переформатировать код», IntelliJ переформатирует весь код, который вы проверяете.

Источник: www.udemy.com / intellij-idea-секреты-удвоить скорость кодирования за 2 часа

2 голосов
/ 04 июня 2009

Я думал, что в IntelliJ было что-то подобное, но я не могу его найти. Единственная очистка, которая происходит при сохранении, - это удаление пробелов на концах строк. Я думал, что должен был указать это поведение в какой-то момент, но я не вижу ничего связанного в этот момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...