Turn off Wildcard imports?
Answered
Is there a way to turn off wildcard import like "import javax.persistence.*;" ?
Intellij 12.1.4 usually imports exactly the class I need, for example:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Table;
But at some point it replaces all the individual import statements with:
import javax.persistence.*;
Is this behavior controlled by a setting anywhere?
Please sign in to leave a comment.
File > Settings > Project Settings > Code Style > Java > Imports > General > Class count to use import with '*'
In The settings dialog you can also search/filter - see field in the top left.
Thanks, that's exactly what I needed!
In IDEA Ultimate 2020.2 the setting is under
File > Settings > Editor > Java > General > Class count to use import with '*'
In IDEA Ultimate 2021.1.3, the setting is under
and
fields (as stated in https://www.jetbrains.com/help/idea/creating-and-optimizing-imports.html#disable-wildcard-imports).
For the notice, there's also 2 hardcoded exceptions (awt & swing) that'll get through the configuration mentioned above. They're basically at the same path as the wildcard count definition, but just below on the same tab, in the " Packages to use import with '*' " section. Remove them and it'll be fine.
On osx, the configuration tab would be at:
I put 99 in both of these and still adds * all the time, very annoying.
Dominic Tobias Which IDEA version are you using? Does it happens in all Java packages? Can you share a sample file of the problem?
I am using 2024.1 version community edition and get the same problem as Dominic.
When I optimize imports, it goes from:
To:
And these are my settings:
Vanesa Pazos Did disable all downloaded 3rd-party plugin helps? If it is still there, please attach the logs via the menu Help > Collect logs and Diagnostic Data if possible, please upload it to https://uploads.jetbrains.com/ and paste the upload id here, the uploaded file is only visible to JetBrains employees.
A a minimal sample project would also be helpful.
I opened a ticket: https://youtrack.jetbrains.com/issue/IDEA-352926/Organize-imports-doesnt-respect-class-count-to-use-wildcard-in-Java
Disabling the plugins helped a bit: when I optimize the imports it doesn't happen anymore that separated imports collapse into * ones. But it still happens that the imports added by Intellij are using the wildcard.
I had "Add unambiguous imports on the fly" on in Auto import section, and now I unmarked it:
Created a new clean project and in the main class added the creation of an array list. I tried to import manually:
And the result has the wildcard:
I included both the test project and the logs: Upload id: 2024_05_09_23xpQJyeM9RXwxhurijpKV (files: idea-logs-20240509-09505117936355280639079772.zip, wildcardimporttest.zip)
I'll include this same info in the ticket.
Thanks in advance
Vanesa Pazos Thanks for the issue report, I'll take a look at the issue and assign it to our dev.
Hello, this problem can be fixed by enable the below settings enabled plus 3rd party plugin disabled:
Settings | Editor | Code Style | Java | Imports | Use single class import
Use single class import: import only a particular class from a package during code generation or import optimization. Otherwise, a statement that imports an entire package is inserted.