When auto-completing a class name in Eclipse, e.g. if you type:
ListI
Tab
A pop-up menu appears offering you matching class names for completion (which you can select with the mouse or by using the arrow keys:
In this example, I almost certainly want java.util.ListIterator
and I almost never want com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator
(or anything else from that package).
This particular class will appear in the list frequently (every time I declare a ListIterator
). I would like to be able to exclude packages from autocomplete searches, so that java.util.ListIterator
is auto-completed without the need for a pop-up menu.
Is this possible?
The solution is not to tick/untick some stuff under Windows->Preferences->... ->Content Assist-> Advanced. I checked if "ctrl+space" is hijacked by some other thing which is not and checked keyboard language which is English(Those are suggested in mkyong).
Try this: Go to Preferences » Java » Editor » Content Assist » Advanced. Make sure Other Java Proposals is ticked/checked. If that does not work simply close the project and reopen it.
Window
> Preferences
> Java
> Appearance
> Type Filters
You should be able to specify there the packages you do not want to see.
See Java Tips and Tricks
To exclude certain types from appearing in content assist, use the type filter feature configured on the
Java > Appearance > Type Filters
preference page.
Types matching one of these filter patterns will not appear in the Open Type dialog and will not be available to content assist, quick fix and organize imports.
These filter patterns do not affect the Package Explorer and Hierarchy views.
finnw (the OP) adds in the comments:
Now how do you add a single class to this list? I'm not interested in java.awt.List but occasionally I want java.awt.Window or java.awt.Dimension. –
"Type filter" is actually based on class pattern matching, meaning if you add:
java.awt.List
that class will disappear from the content assist propositions.
If you know all java.awt.Lxxx
classes are of no interest, you could add
java.awt.L*
All other classes from java.awt
would still be there for the content assist.
With a recent eclipse (I have right now a eclipse 3.6Mx, but this should work for 3.5.x as well), you are not limited to package pattern only in the Type Filter.
Window
> Preferences
> Java
> Appearance
> Type Filters
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With