Как автоматически оптимизировать импорт после каждого сохранения в IntelliJ IDEA

95

Я хочу узнать, как я могу автоматически оптимизировать импорт после каждого сохранения, как мы делаем Eclipse ( действия сохранения ).

talha06
источник

Ответы:

138

IntelliJ IDEA предлагает возможность оптимизировать импорт на лету в Settings| Editor| General| Auto Importи параметр Оптимизировать импорт в Commit Projectдиалоговом окне.

CrazyCoder
источник
22
Включение этой опции по умолчанию приведет к большому количеству различий в импорте после фиксации, если члены команды используют разные IDE, это основная причина, чтобы отключить его по умолчанию.
CrazyCoder
11
@CrazyCoder: это можно исправить, потребовав использования всего импорта и имея фиксированный порядок импорта (и то, и другое IDE может легко сделать, поэтому это не должно добавлять работу для кого-либо). Тогда единственная разница в импорте - это когда импорт действительно изменяется.
Joachim Sauer
2
@JoachimSauer, как вы можете определить этот порядок импорта и т.д. в IntelliJ, пожалуйста?
riroo
5
@miss_R Для Java это под Settings| Editor| Code Style| Java| Importsвкладка | Import Layoutраздел в IntelliJ 2016.3.4. Я предполагаю, что другие языки имеют это в своих настройках. :)
Christian
2
Если вы собираетесь это сделать, вы также, вероятно, захотите добавить в свою сборку что-то вроде Checkstyle и использовать его для обеспечения фиксированного порядка импорта для вашего проекта.
SamStephens
58

Упомянутый ответ работает, но есть также плагин Intellij «save actions», доступный в репозитории плагинов JetBrains, который делает это (а также другие вещи): Intellij Save Actions Plugin .

Установка

Файл> Настройки> Плагины> Обзор репозиториев ...> Поиск "Сохранить действия"> Категория "Инструменты кода"

Отказ от ответственности

Я разработчик плагина

Александр ДюБрей
источник
2
Я думаю, что опция импорта «оптимизировать на лету» будет оптимизировать, когда вы импортируете новые типы и когда вы вставляете код, но она не затронет существующие импорты, если вы явно не попросите об этом. В Intellij нет «действий по сохранению».
Alexandre DuBreuil 02
2
Спасибо за чаевые! Я обнаружил, что это гораздо менее агрессивный вариант, чем встроенный в IntelliJ «Оптимизировать импорт на лету». При использовании встроенной опции часто импорт менялся местами, просто открывая файл; благодаря вашему плагину этого не произойдет и не может быть. Также приветствуется возможность переформатирования при сохранении! :) :)
MK10
1
Это фактический ответ для оптимизации импорта при сохранении, а не только после фиксации.
Пим
2
@AlexandreDuBreuil Я пытаюсь найти способ оптимизации импорта без прокрутки до верхней части файла. Вы что-нибудь знаете об этом?
Delfic
1
@Delfic похожая проблема была открыта на github, можешь там описать? github.com/dubreuia/intellij-plugin-save-actions/issues/92
Alexandre DuBreuil
11

Первый шаг:

CTRL + SHIFT + A or CMD + SHIFT + A (for mac)

Второй шаг:

Search Optimize import

Третий шаг:

Включите опцию

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

Израиль Пералес
источник
5

В версии Ultimate 2016.2 это:

Файл> Другие настройки> Настройки по умолчанию> Автоимпорт> Оптимизировать импорт на лету

Юнесс
источник