IntelliJ: Never use wildcard imports
有没有办法告诉intellij不要使用通配符导入?在"设置>代码样式>导入"下,我可以看到您可以使用通配符导入在intellij之前指定"类计数"。但是,如果我从不想使用通配符导入,我可以关闭这个功能吗?
我尝试将-1或将字段留空,但这只会告诉Intellij始终使用通配符导入。显然,一个不太好的解决方案是放置一个荒谬的高数字,这样您就不会遇到通配符导入,但我希望有更好的方法来关闭它。
很明显,为什么要禁用它:强制Intellij分别包含每个导入和每个导入。它使人们更容易确切地知道您使用的类来自何处。
单击工具栏上的设置"扳手"图标,打开"代码样式"下的"导入",并选中"使用单个类导入"选项。您还可以完全删除"packages to use import with *"下的条目,或者指定一个阈值,当包中的单个类超过该阈值时,该阈值仅使用"*"。
更新:在想法13中,"使用单类导入"并不阻止通配符导入。解决方案是转到Preferences(?+,macos/ctrl+alt+s,windows)> Editor > Code Style > Java > Imports tab将Class count to use import with '*'和Names count to use static import with '*'设置为更高的值。任何超过99的值都可以。
- 在我设置高阈值之前,我已经按照您所说的方式设置了设置,但它仍然放在通配符导入中(即,我选中了"使用单个类导入"并删除了"要使用导入的包中的所有包*"。
- 为我工作。让我看看我还可以设置什么。9.0.3版。
- 所以,如果您从同一个包中导入11个类,那么通配符导入就不会启动了?作为测试,我的阈值设置为2。如果我从org.hibernate导入一些东西,比如说,它将正确地导入(完全限定)。一旦我从org.hibernate中导入其他内容,它就会坚持使用通配符导入,这告诉我,我的Intellij版本的行为与您的不一样,或者唯一的解决方案是设置一个高阈值,这样我就不会遇到这个问题。
- 如果您使用的是iTeliJi 12或更高版本,那么可以在"代码风格"->"Java"->"导入"下进行配置。
- 阅读我的答案-看到"点击设置"位吗?自从Intellij7以来这是真的。已经回答了三年多了。
- 为了避免别人的困惑:在我对永不崩溃的导入的热情中,我在"ClassCount to use…"字段中放了一个不合理的长串9,这导致Intellij12悄悄地忽略了这个值。9999'工作正常。
- 是否真的没有办法告诉Intellij15不要使用通配符导入?我的意思是不指定类计数??!
- 为什么增加一个班数是如此令人压抑?如果这很讨厌,为什么不要求JetBrains进行增强呢?
- 就记录而言(至少在Intellij Ultimate 2016中),尝试将值设置为极大量的9不会起作用。如果您添加了5个以上的9,则"应用"按钮会变灰,并且设置不会采用-而不仅仅是不允许您只输入5个9。我发现这是因为我很懒惰,只想添加一堆9,以确保它永远不会接近某个问题:)
- 看起来三个9就够了。如果您需要一千多个导入,我建议您的类应该被重构。
- 不敢相信程序是以这种方式为程序员编程的。这个令人困惑的对话在2016年3月还没有被修正,是否有错误,或者我们可以投票的地方?
- @Duffymo在Android Studio 3.1.1中工作吗?
- 有趣的是,对于Kotlin来说,这个选项不那么容易混淆:"当至少使用了[99]个名称时,使用import和"*"。"
文件设置…(ctrl+alt+s)
项目设置>编辑器>代码样式> java>导入选项卡
将类计数设置为使用导入时将"*"设置为999
将名称计数设置为使用静态导入,并将"*"设置为999
在此之后,您的配置应该如下所示:。
(关于Intellij理念13.x、14.x、15.x、2016.x、2017.x)
氧化镁
Intellij IDEA 2018.1.4(最终版)建于2018年5月16日
上面的解决方案对我不起作用。我必须将"class count to use import with"*"设置为高值,例如999。
就像dum dum一样,我不明白为什么这些答案都不适用于我的java.util.*的kotlin文件,所以如果这发生在你身上:
1 2 3 4 5 6 7
| Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*' |
如果上面没有为您工作,那么检查您是否有任何优先选择的包>编辑器>代码样式> java>导入>包以使用"*"导入。
在Mac上执行此操作的快捷方式:按command+shift+a(action)并键入"class count to use import with*"按Enter键。在那里输入一个更高的数字,如999
如果不想更改首选项,可以通过在Mac上按ctrl+option+o或在Windows/Linux上按ctrl+alt+o来优化导入,这将用当前文件中的单个导入替换所有导入。
- 这个答案是错误的。
- Intellij认为,默认情况下,使用*折叠导入是一种优化。
- 我不同意"你不想更改首选项",但键盘快捷键对我有效!