IntelliJ: никогда не используйте импорт с подстановочными знаками

Есть ли способ сказать IntelliJ никогда не использовать импорт подстановочных знаков? В разделе «Настройки»> «Стиль кода»> «Импорт» я вижу, что вы можете указать «количество классов» до IntelliJ, используя импорт с подстановочными знаками. Однако, если я никогда не хочу использовать импорт с подстановочными знаками, могу ли я отключить эту функцию?

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


person digiarnie    schedule 27.07.2010    source источник


Ответы (12)


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

Щелкните значок «гаечный ключ» в настройках на панели инструментов, откройте «Импорт» в разделе «Стиль кода» и установите флажок «Использовать импорт одного класса». Вы также можете полностью удалить записи в разделе «Пакеты для использования импорта с *» или указать пороговое значение, которое использует «*» только тогда, когда отдельные классы из пакета превышают этот порог.

Обновление: в IDEA 13 «Использовать импорт одного класса» не запрещает импорт с подстановочными знаками. Решение - перейти к Preferences ( + , в macOS / Ctrl + Alt + S в Windows и Linux) > Editor > Code Style > Java > Imports tab установите для Class count to use import with '*' и Names count to use static import with '*' более высокое значение. Кажется, что любое значение больше 99 работает нормально.

person duffymo    schedule 27.07.2010
comment
До того, как я поставил высокое число для порога, у меня были настройки, как вы уже сказали, но он все еще вставлял импорт с подстановочными знаками (т.е. я использовал импорт одного класса, проверенный и удалил все пакеты в пакетах, чтобы использовать импорт с * ... - person digiarnie; 28.07.2010
comment
Работает на меня. Дай мне посмотреть, что еще я мог бы установить. Версия 9.0.3 для меня. - person duffymo; 28.07.2010
comment
Итак, если вы выполните 11 импортов классов из одного пакета, импорт с подстановочными знаками не сработает? В качестве теста у меня установлен порог 2. Если я импортирую что-то из org.hibernate, скажем, он выполнит импорт правильно (полностью определен). Как только я импортирую что-то еще из org.hibernate, он будет вставлен в импорт с подстановочными знаками, который как бы говорит мне, что либо моя версия intellij не ведет себя так, как ваша, либо единственное решение - установить высокий порог, чтобы я никогда не запускал в этот вопрос - person digiarnie; 28.07.2010
comment
Если вы используете IntelliJ 12 или новее, это можно настроить в разделе «Стиль кода» - ›Java -› Импорт. - person Denis Kniazhev; 11.12.2013
comment
Прочтите мой ответ - видите, нажмите на бит настроек? Это было правдой со времен IntelliJ 7. Ответы были даны уже более трех лет. - person duffymo; 11.12.2013
comment
На случай, если это избавит кого-то от путаницы: в моем энтузиазме по поводу того, что импорт никогда не обрушится, я поместил неоправданно длинную строку из 9 в поле «количество классов для использования ...», и это заставило IntelliJ 12 молча игнорировать значение. «9999» работает нормально. - person PotataChipz; 20.03.2014
comment
Неужели нет способа сказать Intellij 15 никогда не использовать импорт подстановочных знаков? Я имею в виду без указания количества классов ??! - person Stephen Hartley; 08.02.2016
comment
Почему добавление количества классов так утомительно? Почему бы не попросить JetBrains об улучшении, если это так отвратительно? - person duffymo; 08.02.2016
comment
Для записи (по крайней мере, в IntelliJ Ultimate 2016) попытка установить значение очень большого числа 9 не сработает. Если вы добавите более 5 9, кнопка «Применить» станет серой, и настройка не будет выполняться - вместо того, чтобы просто не разрешить вам вводить только 5 9. Я узнал об этом, потому что был ленив и просто хотел добавить кучу девяток, чтобы убедиться, что это никогда не будет близко к проблеме :) - person MCory; 05.04.2016
comment
Похоже, трех девяток должно хватить. Если вам нужно более тысячи импортов, я бы сказал, что ваш класс следует реорганизовать. - person duffymo; 05.04.2016
comment
Не могу поверить, что программы запрограммировали программу для программистов так, как это запрограммировано. Этот запутанный диалог до сих пор не исправлен в версии 2016.3, есть ли в нем ошибка или где-то мы можем проголосовать? - person Glenn Bech; 26.01.2017
comment
Достаточно интересно, что для Kotlin опция менее запутанна: используйте импорт с '*', когда используется как минимум [99] имен. - person Paulo Merson; 05.10.2018
comment
@GlennBech Просто свяжитесь с ними в разделе «Отправить отзыв» в меню «Справка». - person Thorbjørn Ravn Andersen; 19.09.2019

  1. Файл \ Настройки ... (Ctrl + Alt + S)
  2. Настройки проекта> Редактор> Стиль кода> Java> вкладка Импорт
  3. Установите Количество классов для использования импорта с '*' на 999.
  4. Установите для Количество имен для использования статического импорта с символом "*" значение 999.

После этого ваша конфигурация должна выглядеть так: введите описание изображения здесь

(В IntelliJ IDEA 13.x, 14.x, 15.x, 2016.x, 2017.x)

person Do Nhu Vy    schedule 18.09.2014

Как дурак, я не мог понять, почему ни один из этих ответов не работал с моими файлами Kotlin для java.util.*, поэтому, если это происходит с вами, тогда:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'
person Matt Klein    schedule 05.08.2018
comment
Ты не единственный там дурак .. / :( :) - person Marco; 05.09.2018
comment
У меня была такая же проблема с Groovy. - person Marco Lackovic; 18.08.2020

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

IntelliJ IDEA 2018.1.4 (Ultimate Edition), построенная 16 мая 2018 г.

person Kanke    schedule 01.06.2018

Приведенное выше решение не помогло мне. Мне пришлось установить количество классов для использования импорта с '*' на высокое значение, например. 999.

person Amio.io    schedule 02.05.2014

Это относится к «IntelliJ IDEA-2019.2.4» на Mac.

  1. Перейдите в «IntelliJ IDEA-> Настройки-> Редактор-> Стиль кода-> Kotlin».
  2. В разделе «Пакеты для использования импорта с '' на экране будет указано« import java.util. »

«До»

  1. Щелкните в любом месте этого поля и снимите эту запись.
  2. Нажмите «Применить» и «ОК».

«После»

person Neeraj Jain    schedule 31.10.2019

Это относится к Intellij Idea-2020.1.2 в окне

Перейдите в IntelliJ IDEA- ›Файл-› Настройки- ›Редактор-› Стиль кода- ›java.

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

person user84    schedule 10.07.2020

Если ничего из вышеперечисленного не работает для вас, то стоит проверить, есть ли у вас какие-либо пакеты в разделе «Настройки»> «Редактор»> «Стиль кода»> «Java»> «Импорт»> «Пакеты для использования импорта с" * ".

person Heungwoo    schedule 19.05.2017

Ярлык для этого на Mac: нажмите command + Shift + A (Action) и введите «количество классов для использования импорта с *». Нажмите Enter. Введите большее число, например 999

person user2789973    schedule 20.12.2017

В Android Studio с Kotlin.

Файл ›Настройки,

Редактор ›Стиль кода› Kotlin, затем на вкладке Импорт выберите Использовать импорт с одним именем.

Также удалите import java.util.*.

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

person CoolMind    schedule 07.07.2021

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

[*.java]
ij_java_names_count_to_use_import_on_demand = 999
ij_java_class_count_to_use_import_on_demand = 999
person Solubris    schedule 04.06.2021

Если вы не хотите изменять настройки, вы можете оптимизировать импорт, нажав Ctrl + Option + o на Mac или Ctrl + Alt + o в Windows / Linux, и это заменит все импортированные файлы одиночными импортированными в текущий файл.

person Alex Green    schedule 19.12.2017
comment
IntelliJ считает, что сворачивание импорта со знаком * по умолчанию является оптимизацией. - person Matthew Read; 10.09.2018
comment
Я не согласен с вами, не хочу менять настройки, но у меня сработало сочетание клавиш! - person Grizz; 15.12.2018