ChatGPT解决这个技术问题 Extra ChatGPT

Disable IntelliJ Starred (Package) Imports?

I'm a migrating Eclipse IDE user and am learning my way round IntelliJ IDEA 9.

By default Eclipse IDE won't use a starred import until you import 99 classes from the same package, so it practically never happens.

But IntelliJ IDEA seems only too keen to do it, and I can't work out how to disable it.

For example, after typing JList then ALT + ENTER to auto-import, the whole javax.swing package is imported instead of just the class I specify.

I tried excluding javax.swing from the auto-completion, but that just stops any Swing classes from being suggested, which is counter-productive.

IntelliJ 9? Version 16 is on the way. Upgrade to the community edition or buy a license.

C
CherryDT

You can set this setting here.

In IDEA 14+ the sequence is:

Settings > Editor > Code Style > Java > Imports > Class count to use import with '*'

In older version of IDEA:

Settings -> Java -> Code Style -> Imports -> Class count to use import with '*'

The feature can not be disabled. You need to set it to a high value, e.g. 99.

In 2016.1.1 version You should also remove the lines under Packages to Use Import with '*', e.g. import javax.*;


Now both Class count to use import with '*' and Names count to use static import with '*' are set to 99 to copy Eclipse's behavior. Thanks!
Seems to work if you set this value to 0, rather than setting to a high number
Threshold needs to be high for me. If I set that threshold to 0, the feature remains enabled. Worst, I end-up with stars imports everywhere (IDEA 2017.1).
0 destroyed me, reverted and set it to 1000
This is language specific, so remember to set this under Kotlin if you're using that or a mixed project.
R
ROMANIA_engineer

IntelliJ IDEA:

14 & 15 & 16 EAP File > Settings... > Editor > Code Style > Java > Imports > in General area add a big number for Class count to use import with '*': / Names count to use static import with '*':

IntelliJ IDEA:

12 & 13 File > Settings... > Code Style > Java > Imports > in General area add a big number for Class count to use import with '*': P.S.: Java is after Code Style in the path.


Is there really no way to tell Intellij 15 never to use starred imports? I mean without specifying a class count??!
That's what I suspected - but seems odd!
This is nutty. I like starred imports. What's the downside again? Really. (Not in some hypothetical situation where there are overlapping names.)
@MarkHu When someone views your code outside the scope of an IDE (e.g. on Github), it becomes really difficult to figure out which package a class is coming from.
u
user3573712

And you also have to remove package names from the "Packages to use import with *" list box just below the "Class count to use import with " text boxes. Swing and AWT are there by default I think. I still was having import javax.swing.; added even though I had the class count set to 999. I used the minus sign button to remove Swing and Awt from the box and then it worked.