Eclipse:自动填充类名时排除特定包

fin*_*nnw 96 java eclipse autocomplete

在Eclipse中自动完成类名时,例如,如果键入:

ListITab

将出现一个弹出菜单,为您提供匹配的类名以供完成(您可以使用鼠标或使用箭头键进行选择:

在这个例子中,我几乎肯定想要,java.util.ListIterator而且我几乎从不想要com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(或该包中的任何其他内容).

这个特殊的类经常出现在列表中(每次我声明一个ListIterator).我希望能够从自动填充搜索中排除包,这样就java.util.ListIterator可以自动完成,而无需弹出菜单.

这可能吗?

Von*_*onC 140

  Window->Preferences->Java->Appearance->Type Filters
Run Code Online (Sandbox Code Playgroud)

您应该能够在那里指定您不想看到的包.

http://help.eclipse.org/galileo/topic/org.eclipse.jdt.doc.user/tips/images/type-filter.png

请参阅Java提示和技巧

要排除某些类型出现在内容辅助中,请使用Java > Appearance > Type Filters首选项页面上配置的类型过滤器功能.
匹配其中一个过滤器模式的类型不会出现在"打开类型"对话框中,也不可用于内容辅助,快速修复和组织导入.
这些筛选器模式不会影响Package Explorer和Hierarchy视图.


finnw(OP)在评论中添加:

现在如何将单个类添加到此列表中?我对java.awt.List不感兴趣,但偶尔我想要java.awt.Window或java.awt.Dimension. -

"类型过滤器"实际上是基于类模式匹配,这意味着如果你添加:

 java.awt.List
Run Code Online (Sandbox Code Playgroud)

该类将从内容辅助命题中消失.
如果您知道所有java.awt.Lxxx课程都没有兴趣,您可以添加

 java.awt.L*
Run Code Online (Sandbox Code Playgroud)

所有其他类java.awt仍将在那里进行内容辅助.
最近的一次eclipse(我现在有一个3.6Mx的eclipse,但这也适用于3.5.x),你不仅限于类型过滤器中的模式.

  • 它也是区分大小写的,这就是为什么当我尝试"java.awt.list"时它不起作用. (4认同)
  • 遗憾的是,你不能只是优先考虑某些类而不是从列表中删除它们...... (4认同)
  • 谢谢你的回答 - 即使我之前添加了一些内容,我也不得不谷歌.有人真的认为这属于Appearance而不是哦,Java-> Editor-> ContentAssist让人感到羞耻...... (3认同)

Jon*_*erg 51

Window->Preferences->Java->Appearance->Type Filters
Run Code Online (Sandbox Code Playgroud)