首页 文章

Eclipse / Java代码完成无法正常工作

提问于
浏览
483

我已经下载,解压缩并使用一些插件(可记录,EPIC,Clearcase,QuantumDB,MisterQ)设置Eclipse 3.4.2 .

现在我发现当我编辑Java项目时,代码完成不起作用 . 如果我输入 String. 并按ctrl space,弹出窗口显示"No Default Proposals",底部的状态栏显示"No completions available" .

有任何想法吗?

19 回答

  • 1

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

    • 右键单击项目(您正在处理的项目)

    • 转到“属性”>“Java构建路径”>“JRE系统库”

    • 单击右侧的编辑....

    • 选择JRE 7

  • 1025

    检查您是否在窗口>首选项> Java>外观>类型过滤器中过滤掉了许多选项

    此列表中的项目不会出现在快速修复,自动填充或出现在其他各种位置,如“打开类型”对话框中 .

  • 4

    另一个对我有用的解决方案是转到Java - > Appearence - > Type Filters并禁用所有
    enter image description here

  • 4

    就我而言,Intellisense只在一个项目的几个 class 中消失了 . 事实证明这是因为构建路径上缺少了一个库(虽然它以前工作过) .

    因此,请务必检查Eclipse中的所有错误或问题,并尝试查找是否可能缺少库

  • 2

    我碰到了这个,结果是我用文本编辑器而不是java编辑器打开文件 .

    我想对https://stackoverflow.com/users/607470/elroy-flynn回复发表评论,但添加评论只有在评分为50后才有效吗?不确定WTF是......

    谢谢,汤姆

  • 5

    在' Windows > Preferences > Java > Editor > Content Assist > Advanced '中尝试 restoring the default options

    您在此首选项屏幕中看到的数据类型的示例,但不一定是您当前拥有的数据 .

    eclipse content assist setting

    (来自blog post " Content Assist Duplicates in Eclipse (Mylyn)"Vadim
    如果有重复的Mylyn条目,请取消选中其名称中不包含“ (Mylyn) ”的重复条目

    Eclipse help page定义要恢复的默认列表:

    选择“默认”内容辅助列表中包含的提案种类:其他Java提案,SWT模板提案,模板提案,类型提案

  • 2

    我在这里添加了一个答案,万一其他人在Google上发现了这个问题 . 相同的症状;不同的问题 . 对我来说,类型缓存已经腐败了 .

    来自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中搜索有问题的类型 . 索引将被重建 .

  • 2

    对于那些运行激活IBus插件的Xfce的人来说,可能存在键盘快捷键冲突 .

    在我的博客上查看更多信息:http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

    UPDATE

    正如@ nhahtdh的评论所建议的,添加更多信息直接回答:Xfce中的IBus插件默认使用Ctrl Space快捷键进行键盘布局切换 . 要更改它,请转到:选项并将其更改为您喜欢的任何其他内容 .

  • 9

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

    更好的检查方法是转到辅助无效的文件并在那里注释所有导入,而不是逐个添加导入,并检查每次导入是否代码辅助工作正常 . 您可以轻松找到具有重复参考的类 .

  • 18

    如果有人来到这里并希望激活自动完成功能,请转到

    Preferences -> Java -> Editor -> Content Assist.

    然后在 Auto Activation 部分填写 Auto activation triggers for Java:

    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._
    

    enter image description here

  • 2

    这些都不适合我 .

    我只在一次特定课程中遇到过这个问题 . 最终对我有用的是删除有问题的类并重新创建它 . 问题解决了......神秘不是那么多!

  • 4

    如果您已经为IE安装了Google工具栏,可能会遇到同样的问题 . 因为,工具栏捕获了快捷键ctrl Space .

  • 10

    我遇到了这个问题,花了好几个小时试图找出问题所在 . 试图按照上面不同答案中提到的步骤,我找到的解决方案与Mona建议的解决方案相同,但略有不同 . 试图添加评论Mona的答案,但没有选项可用 . 我的日食问题是,类路径以某种方式被破坏,所有的 jar 和依赖项目都丢失了 . 从存储库中获取最新的.classpath后,它运行正常 .

  • 1

    我有这个问题,就像@Marc一样,只针对特定的类 . 我发现我需要指定Open With = Java Editor . 作为一个Eclipse新手,我甚至没有意识到我只是使用普通的编辑器 .

    在包资源管理器中,右键单击该文件并选择“打开方式” .

  • 1

    也许这有助于遇到同一问题的其他人 .

    我的设置:由其他人制作的旧Gradle项目(版本Gradle 2.12),使用Gradle导入向导导入STS(Eclipse Oxygen.2(4.7.2)) .

    代码完成也不起作用(我在Java文件中仍然有空洞的Js),但至少我通过以下方式完成了代码完成:

    • 右键单击项目文件夹>属性> Gradle>配置工作区设置> Java>编辑器>内容辅助>高级

    • 检查上部窗口中的“Java Proposals” .

    • 2x申请并关闭

  • 10

    对我来说,问题是同一个库的几个版本之间存在冲突 . Eclipse辅助使用的是比maven更旧的版本 .

    我不得不去.m2目录并删除不需要的lib版本重启eclipse .

  • 2

    editing a file which does not belong to the project directory 时,我在Eclipse Neon上遇到问题 . 当我将相同的文件复制到项目根目录,甚至没有复制到src目录时,完成开始工作 .

    从其他目录打开文件时,只有JRE完成才能工作 . 例如: java. 完成,但 junit. 没有 .

  • 1

    完成配置检查后,完成仍然无效:

    • make sure you have the right directory structure.

    你看到文件旁边的右边图标了吗?:

    enter image description here

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

    enter image description here

    我发布了这个答案,因为我有Maven webapp工件的故事 . 默认情况下,Maven-WebApp不会为源创建文件夹,我将Java放入资源中,想知道5分钟发生了什么...... :)

  • 58

    万一有人到了一个绝望的地方,什么都行不通......我们发现内容有助于缩小,所以没有显示任何建议,只能看到“按非常规的按Ctrl空间......” . 因此,只需拖动内容辅助的角落来扩大弹出窗口 .

    我知道,很尴尬 . 希望能帮助到你 .

    注意:这是一个使用Eclipse Oxygen的Xfce4的Ubuntu服务器 .

相关问题