IntelliJ организовать импорт - PullRequest
230 голосов
/ 22 декабря 2011

Есть ли в IntelliJ функция организации импорта, аналогичная функции в Eclipse?У меня есть файл Java с несколькими классами, в которых отсутствует их импорт.Пример:

package com.test;
public class Foo {
    public Map map;
    public JTable table;
}

В Eclipse я мог бы использовать Organize Imports, и он автоматически импортировал бы java.util.Map и javax.swing.JTable.В IntelliJ мне нужно по отдельности перейти в каждый класс, выбрать его и нажать Alt-Enter.Существует функция оптимизации импорта, но все, что она делает, это сортировка и расширение существующих импорта.

Я использую IntelliJ 10.5.

Ответы [ 13 ]

327 голосов
/ 23 декабря 2011

Ctrl + Alt + O ( Код → Оптимизировать импорт ... ) - это то, что вы ищете, обав Windows / Linux и macOS keymaps.

Он говорит «Оптимизировать», но, если он настроен для этого, он также:

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

Вы можете настроить параметры auto-import в разделе " Настройки → Редактор → Общие → Автоматический импорт", как описано Дейвом .

Вы также можете изменить порядок автоматического импорта в разделе" Настройки →Редактор → Стиль кода → Java → Импорт"

98 голосов
/ 22 декабря 2011

Под "Settings -> Editor -> General -> Auto Import" есть несколько опций, касающихся автоматического импорта. Только однозначный импорт может быть добавлен автоматически; это один из вариантов.

45 голосов
/ 22 августа 2015

Простое и короткое решение сработало для меня.

Перейдите к File -> Settings -> Editor -> Auto Import -> Java (левая панель) и сделайте следующее: Установите флажки для «Add unambigious imports on the fly» и «Optimize imports on the fly»

См. Это.

enter image description here

42 голосов
/ 15 июля 2015

июль 2015 г. - я пришел к выводу, что IntelliJ не поддерживает автоматическое разрешение импорта с помощью одной функции.«Организовать импорт» просто удаляет неиспользуемый импорт, он не разрешает не импортированные типы.Control-Space разрешает один не импортируемый тип.Не существует единого действия для разрешения импорта всех типов.

42 голосов
/ 06 июля 2012

В дополнение к Optimize Imports и Auto Import, на которые указывали @ dave-newton и @ ryan-stewart в предыдущих ответах, перейдите по адресу:

  • ИДЕЯ <= 13: <code>File menu > Settings > Code Style > Java > Imports
  • IDEA> = 14: File menu > Settings > Editor > Code Style > Java > Imports (спасибо @ mathias-bader за подсказку!) Settings dialog

Там вы можете точно настроить группировку и порядок или импорт, "Class count to use import with '*'" и т. Д.

Примечание:
начиная с IDEA 13, вы можете настроить параметры проекта по умолчанию на «стартовой странице» IDEA: Configure > Project defaults > Settings > .... Тогда каждый новый проект будет иметь эти настройки по умолчанию: enter image description here

9 голосов
/ 09 сентября 2015

В IntelliJ 14 путь к настройкам для автоматического импорта изменился. Путь

IntelliJ IDEA-> Настройки-> Редактор-> Общие-> Автоматический импорт

затем следуйте инструкциям выше, нажав Добавить однозначный импорт на лету

Я не могу представить, почему это не будет установлено по умолчанию.

8 голосов
/ 05 июня 2013

перейдите к файлу , где вы хотите организовать импорт, или просто щелкните по целому пакету или даже щелкните по проекту , чем нажмите CTRL.+ ALT + O

2 голосов
/ 10 августа 2016

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

Как правило, после вставки исходного кода и исправления однозначного импорта просто нажмите F2, чтобы выделить следующую ошибку компилятора.Если текущая ошибка является ошибкой при отсутствии импорта, нажмите Alt+Enter, затем Enter, чтобы выбрать параметр Import, затем выберите правильный импорт.Затем снова нажмите F2.

2 голосов
/ 11 октября 2014

ALT + ENTER было далеко от привычки к затмению, в IDEA у меня не работала наведение мыши, поэтому в setting>IDESetting>Keymap>Show intention actions and quick-fixes я поменял его на щелчок левой кнопкой мыши, он не поддерживал наведение мыши!но щелчок левой кнопкой мыши был в порядке и наиболее близок к моему намерению.

2 голосов
/ 04 мая 2014

Просто наведите курсор мыши на отсутствующий вид и нажмите клавиши на окнах ALT + ENTER

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