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

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

什么好主意吗?


当前回答

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

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

其他回答

我也面临这个问题,但解决的方式不同。 我所遵循的步骤可能对其他人有帮助。

右键单击项目(您正在进行的项目) 进入“属性> Java Build Path > JRE系统库” 单击Edit……在右边 选择JRE 7

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

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

另一个对我有效的解决方案是去Java—>外观—>类型过滤器,并禁用所有

我在这里添加了一个答案,以防别人在谷歌上找到这个。相同的症状;不同的问题。对我来说,类型缓存已经损坏了。

从http://mschrag.blogspot.co.nz/2009/01/open-type-cant-find-your-class.html

退出Eclipse 进入workspace/.metadata/.plugins/org.eclipse.jdt.core 删除*。index和savedIndexNames.txt 重新启动Eclipse并搜索Ctrl+T以查找出错的类型。索引将被重新构建。

对于那些使用最新的3-19 eclipse版本的用户:

当我从Oxygen升级到3-19 eclipse版本时,就发生了这种情况,所以我认为自动完成功能在升级过程中没有正确迁移。

对我来说唯一有效的解决方案是创建一个新的eclipse工作空间,并将项目导入其中。这可能需要几分钟,但与其他解决方案所花费的时间相比,这是值得的。