IntelliJ:永远不要使用通配符导入


624

有没有办法告诉IntelliJ永远不要使用通配符导入?在“设置>代码样式>导入”下,我可以看到可以使用通配符导入在IntelliJ之前指定“类计数”。但是,如果我不想使用通配符导入,可以关闭此功能吗?

我尝试将-1或将该字段留空,但这只是告诉IntelliJ始终使用通配符导入。显然,一个不太好的解决方案是设置一个高得离谱的数字,这样您就不会遇到通配符导入,但是我希望有一种更好的方法将其关闭。

Answers:


842

很明显,为什么要禁用此功能:强制IntelliJ分别包含每个导入。它使人们更容易准确地确定您正在使用的类的来源。

单击工具栏上的设置“扳手”图标,在“代码样式”下打开“导入”,然后选中“使用单个类导入”选择。您也可以完全删除“要使用import with的软件包”下的条目*,或指定一个阈值,仅*当软件包中的各个类超过该阈值时才使用“ ”。

更新:在IDEA 13中“使用单一类导入”不会阻止通配符导入。解决的办法是去Preferences+ ,在MacOS / Ctrl+ Alt+ S在Windows和Linux)> Editor > Code Style > Java > Imports tabClass count to use import with '*'Names count to use static import with '*'以更高的价值。任何超过99的值似乎都可以正常工作。


43
万一它避免了其他人的困惑:出于我对进口永不崩溃的热情,我在“要使用的班级数量...”字段中输入了不合理的长9字符串,这使IntelliJ 12默默地忽略了该值。'9999'工作正常。
PotataChipz 2014年

16
真的没有办法告诉Intellij 15永远不要使用通配符导入吗?我的意思是不指定班级人数?
斯蒂芬·哈特利

2
为什么增加班级数量如此令人沮丧?如果这太可恶了,为什么不要求JetBrains进行增强呢?
duffymo '16

30
看起来三个九应该足够了。如果您需要进口超过一千个,我会说您的班级应该重构。
duffymo '16

23
不能相信程序以编程的方式为程序员编写了程序。这个令人困惑的对话框在2016.3中仍未修复,是否有错误,还是可以投票的地方?
Glenn Bech

322
  1. 文件\设置...(Ctrl+ Alt+ S
  2. 项目设置>编辑器>代码样式> Java>导入选项卡
  3. 类别计数设置为使用带有“ *”的导入设置为999
  4. 名称计数设置为使用静态导入,并将“ *”设置为999

之后,您的配置应如下所示: 在此处输入图片说明

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


39

就像一个哑巴一样,我无法弄清楚为什么这些答案都不适用于我的Kotlin文件java.util.*,因此,如果这发生在您身上,那么:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'

12
您不是那里唯一的哑巴。./:( :)
Marco Marco

38

在此处输入图片说明

IntelliJ IDEA 2018.1.4(Ultimate Edition)建于2018年5月16日


2
万岁,黑暗的主题。
计时器

28

上面的解决方案不适用于我。我必须将“类计数”设置为将带有“ *”的import设置为较高的值,例如999。


6

如果以上方法都不适合您,那么值得检查一下是否在“首选项”>“编辑器”>“代码样式”>“ Java”>“导入”>“要使用带有*的导入使用的软件包”下找到任何软件包。


5

这适用于Mac上的“ IntelliJ IDEA-2019.2.4”。

  1. 导航到“ IntelliJ IDEA->首选项->编辑器->代码样式-> Kotlin”。
  2. 屏幕上的 “使用'与'一起使用Import的软件包”部分将列出“ import java.util。

之前

  1. 单击该框中的任何位置,然后清除该条目。
  2. 点击“应用”,然后单击“确定”。

后


2

在Mac上执行此操作的快捷方式:按Command + Shift + A(动作),然后键入“要使用*导入的类计数”,请按Enter。在此输入更高的数字,例如999


0

如果您不想更改首选项,可以通过在Mac上按Ctrl + Option + o或在Windows / Linux上按Ctrl + Alt + o来优化导入,这会将所有导入替换为当前文件中的单个导入。


3
默认情况下,IntelliJ认为使用*折叠导入是一种优化。
马修(Matthew)阅读了

1
我不同意“您不想更改首选项”,但是键盘快捷键对我有用!
灰熊
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.