Eclipse:自动完成类名时排除特定包

Posted

技术标签:

【中文标题】Eclipse:自动完成类名时排除特定包【英文标题】:Eclipse: Exclude specific packages when autocompleting a class name 【发布时间】:2011-01-05 15:29:24 【问题描述】:

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

ListI标签

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

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

这个特定的类会经常出现在列表中(每次我声明一个ListIterator)。我希望能够从自动完成搜索中排除包,以便 java.util.ListIterator 自动完成而不需要弹出菜单。

这可能吗?

【问题讨论】:

哦,如果你能像在其他一些程序中一样选择你不喜欢的并按 Delete 键就好了。但是没有... 刚刚完成我的回答,以解决您在 cmets 中提到的java.awt.List 问题。 【参考方案1】:

Window > Preferences > Java > Appearance > Type Filters

【讨论】:

【参考方案2】:

Window > Preferences > Java > Appearance > Type Filters

你应该可以在那里指定你不想看到的包。

见Java Tips and Tricks

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


finnw(OP)在 cmets 中添加:

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

“类型过滤器”其实是基于类模式匹配,意思是如果你添加:

 java.awt.List

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

 java.awt.L*

java.awt 中的所有其他课程仍将用于内容辅助。 对于最近的 Eclipse(我现在有一个 Eclipse 3.6Mx,但这也适用于 3.5.x),您不仅限于类型过滤器中的 package 模式。

【讨论】:

它也区分大小写,这就是为什么当我尝试“java.awt.list”时它不起作用。 很遗憾,您不能只优先考虑某些类而不是将它们从列表中删除... 感谢您的回答-即使我之前添加了一些,我也不得不为此谷歌搜索。有人真的认为这属于外观而不是,哦,Java->Editor->ContentAssist...

以上是关于Eclipse:自动完成类名时排除特定包的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 自动完成刺激

Android Studio:如何从自动完成中重新包含已排除的库?

Eclipse 自动完成功能不起作用...仅适用于 AWT? [复制]

Eclipse CDT 自动完成功能不起作用

在 Eclipse 中自动打开完成窗口

当您通过 NPM 安装 CSS 框架并排除 node_modules 文件夹时,如何在 VS Code 中使用 CSS 框架自动完成?