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.


Solution 1:

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.*;

Solution 2:

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 '*':

    File > Settings... > Editor > Code Style > Java > Imports > General > Class count to use 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 '*': File > Settings... > Code Style > Java > Imports > General > Class count to use import with '*'

    P.S.: Java is after Code Style in the path.

Solution 3:

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.