Eclipse自动完成功能无法在某些Java文件中运行

时间:2010-03-05 22:26:22

标签: eclipse autocomplete

我注意到自动完成功能在Eclipse中的某些java文件中不起作用。 此外,自动完成不起作用的文件显示空心“J”作为Java文件的图标。自动完成工作的文件,java文件的图标是填充“J”

我想知道是否有人可以指出出现了什么问题,为什么图标的变化以及为什么自动完成和语法高亮显示在带有空心“J”图标的文件中被关闭?

感谢。

更新

基本上,我正在做VonC建议的事情,但是Eclipse并没有让人感到清醒,为什么我认为VonC的建议不起作用,在刷新之后,问题就解决了。

8 个答案:

答案 0 :(得分:103)

由于这个问题在Google上排名很高,我将添加一个解决方案来解决一般自动完成问题,而不是'空心J'问题。

尝试窗口(Windows / Linux)或 Eclipse (OS X) - >偏好 - > Java - >编辑 - >内容辅助 - >恢复默认值

内容辅助 - >高级 - >恢复默认值

答案 1 :(得分:18)

上面的一些答案(恢复默认值)不适用于jan '13的某些adt bundle安装。

在这些情况下,请转到

  

窗口 - >偏好 - > Java - >编辑 - >内容辅助 - >先进

并勾选JAVA PROPOSAL选项。

答案 2 :(得分:11)

在下面的图片中,MyClass.java有一个空洞{​​{1}},因为它明确地从要构建的来源中排除:

alt text

您是否可以转到项目的属性,“J”部分,“Java Build Path”标签,看看是否设置了一些排除过滤器?
例如,通常定义:

Source

首先构建任何单元测试类(当你有大量的源并且不希望在自动完成期间显示测试类,或者不希望在源搜索期间考虑它们时)。

答案 3 :(得分:10)

具有空心J的那些不是项目构建路径的一部分,因此它们不能参与正常的构建过程,因此不会为这些文件(以及其他Java编辑器功能)启用自动完成!)。必须使用项目属性的“源路径”部分将包含要构建的Java文件的文件夹添加到构建路径。可以通过右键单击项目导航器/包浏览器中的项目并转到“属性”来访问它。有关详细信息,请参阅http://www.informit.com/articles/article.aspx?p=367962

此外,如果文件首先不是Java项目的一部分,则必须创建项目并将文件移入,或将文件放在现有文件中。同样,请确保这些文件位于源目录下,如项目属性的该部分所述。

alt text

答案 4 :(得分:2)

如果自动填充不起作用,我会通过删除文件来解决问题。就在复制源代码之前。然后我重新创建了同名的java文件。粘贴以前复制的源代码。

答案 5 :(得分:1)

作为@VonC答案的补充,请确保Java文件是包含模式的一部分。我有一个构建过程正在创建项目的情况,同时只包含.js文件而不是Java文件:

Shows Eclipse Include without Java files

您可以通过“编辑”按钮手动编辑包含。就我而言,修复了构建脚本以使其永久化。

答案 6 :(得分:0)

确保您拥有正确的目录结构。我相信:

  • Java文件旁边的空心J图标 - 不会构建
  • Java文件旁边的普通J图标 - 是要构建的文件。

我在创建webapp artefact时犯了一个错误。默认情况下,它不会为Java创建文件夹,而是为资源创建文件夹。我错误地把我的消息来源放在那里。 看看 - 看看差异。

enter image description here

答案 7 :(得分:0)

无法恢复默认值或我的构建路径(文件已经在包目录中,其他文件中自动完成正在运行)修复了问题。对我来说,修复是明确关闭文件(右键单击选项卡中的文件名)并重新打开。有趣的是,重新启动Eclipse也不起作用。