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

Kru*_*own 12 java eclipse awt

标题几乎解释了这一点。

自动完成功能在 Eclipse 中不起作用,但仅当我在与 java.awt 相关的对象上使用它时才起作用。出现了从 Object 重写的方法,但仅此而已。

这是一个例子

它发生在每个项目中,而不是特定的一个项目中。我尝试过重新安装 Eclipse,但没有成功。任何帮助表示赞赏。

rzw*_*oot 16

awt 包含List类 ( java.awt.List)。

这是一场彻头彻尾的灾难。99.9995872858% 在你输入并点击自动完成的时候List,你只是想让 Eclipse 自动导入java.util.List,相反,直到最新版本,它会弹出一个非模式对话框: 你的意思java.awt.List是还是java.util.List

程序员,因为他们通常的懒惰/无能,对此抱怨不已。他们有点愚蠢。Eclipse 中有一个简单的设置可以禁止整个包,这样它就不会在任何地方显示:不在“打开类型”对话框中,也不在自动完成中。这就是“类型过滤器”功能,它已经存在多年了。

但程序员决定继续抱怨而不是添加设置。

考虑到这一背景,现在这应该是有意义的:

java.awt.*现在默认在此禁止名单上。

但是,你这个独一无二的雪花,你找到了时光机或者冷冻睡眠胶囊,睡过了20年的历史。显然,还有什么其他可能的解释表明您仍在使用 AWT?

无论如何,只要去掉java.awt 那个禁令名单,一切都会好起来的。

打开 Eclipse 工作区首选项,在过滤器框中键入“类型过滤器”。您正在寻找设置java > Appearance > Type Filters。单击该按钮,然后取消选中java.awt

  • 感谢这个解决方案!在包“java.awt”中定义的类(如“Shape”或“LayoutManager”)也在 Swing 应用程序中使用,因此即使那些不进行 AWT GUI 编程的人也可能会遇到此问题。 (4认同)