finnw finnw - 1 year ago 55
Java Question

Eclipse: Exclude specific packages when autocompleting a class name

When auto-completing a class name in Eclipse, e.g. if you type:


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
and the probability that
(or anything else from that package) is what I want is about one in a million.

I know this particular class will appear in the list frequently (every time I declare a
) so I would like to be able to exclude the other packages from autocomplete searches, so that
is auto-completed without the need for a pop-up menu.

Is this possible?

Answer Source
  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:


that class will disappear from the content assist propositions.
If you know all java.awt.Lxxx classes are of no interest, you could add


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.