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


95

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

Ответы:


138

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


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


5

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

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

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