我已经下载、解压并安装了Eclipse 3.4.2和一些插件(值得注意的是,EPIC、Clearcase、quantiumdb、MisterQ)。

现在我发现当我编辑Java项目时,代码补全不起作用。如果我输入字符串。然后按ctrl+空格,弹出“No Default Proposals”,底部的状态栏显示“No completion available”。

什么好主意吗?


当前回答

我在Eclipse Neon上编辑不属于项目目录的文件时遇到了问题。当我将相同的文件复制到项目根目录时,甚至没有复制到src目录,补全开始工作。

当从不同的目录打开文件时,只有JRE的补全工作。例如:java。完成,但junit。没有。

其他回答

检查项目的库。可能您已经包含了两个这样的jar文件,其中有相同的类可用,或者代码中的一个类可以在两个jar文件中引用。在这种情况下,eclipse也会停止辅助代码,因为它完全混淆了。

更好的检查方法是转到辅助不起作用的文件并注释那里的所有导入,而不是逐个添加导入并在每次导入时检查code-assist是否有效。您可以很容易地找到重复引用的类。

如果你已经安装了谷歌工具栏的IE,可能你也会面临同样的问题。因为,工具栏捕获快捷键ctrl+空格。

我遇到了这个问题,并花了几个小时试图解决这个问题。尝试按照上面不同答案中提到的步骤,我找到的解决方案与Mona建议的相同,但略有不同。试图对蒙娜的回答添加评论,但没有选择。 我的eclipse的问题是,类路径以某种方式被损坏,所有的罐子和依赖的项目都不见了。从存储库中获取最新的.classpath后,它工作得很好。

一旦你检查了你的配置,完成仍然不能工作:

确保您拥有正确的目录结构。

您看到文件旁边的正确图标了吗?:

它将告诉您Eclipse将如何处理该文件:

我张贴这个答案,因为我有一个故事与Maven webapp工件。默认情况下,Maven-WebApp不为资源创建文件夹,我把我的Java放到资源中,想了5分钟到底发生了什么……:)

检查您没有过滤掉窗口中的许多选项>首选项> Java >外观>类型过滤器

此列表中的项目将不会出现在快速修复,自动完成,或出现在其他不同的地方,如打开类型对话框。