Eclipse Java Content Assist无法正常工作

时间:2009-09-02 12:07:14

标签: eclipse

Eclipse 3.4和3.5中的内容辅助已停止为我工作。当我输入类的前几个字符并命中CRTL空间然后在延迟后我收到以下错误消息 alt text http://locuslive.com/webdrive/JDTscreenshot.png

我启用/禁用哪些提议并不重要,我会收到此(或类似)消息。

我试过了:

  • 更改Xms / Xmx值

  • 使用-clean

  • 启动Eclipse
  • 创建新工作区并导入我的项目

然而,这些都没有奏效。

我看到一些帖子暗示其他应用可能正在接管CRTL空间或以其他方式干扰,但是除了新的Eclipse运行之外我什么都没有,而且问题仍然存在。

我的问题与this post中涵盖的问题非常相似,尽管在更高版本和OSX 10.5.7上。

有没有人对如何解决这个问题有任何建议?

感谢。

更新:对于任何感兴趣的人,我使用Eclipse 3.5 Classic获得了最好的结果(即不包括Mylyn)。我还使用了下面链接到VonC的错误报告中指定的设置。

有趣的是经典并没有提供一些观点,例如。片段,但这些很容易从另一个发行版中删除。

UPDATE 2 :即使使用最新版本的Eclipse(3.6 M1),这个问题仍然存在。它是由我的Altova Mapforce生成的大型JAR文件在我们的应用程序中处理EDIFACT转换引起的。通过将此JAR添加到构建路径可以重现,并且不会更改内容辅助设置帮助。可以在https://bugs.eclipse.org/bugs/show_bug.cgi?id=289057

看到错误(和JAR)

12 个答案:

答案 0 :(得分:16)

the Mylyn FAQ确实提到了:

  

为什么在使用内容辅助时会收到错误消息?

如果在调用内容辅助之后,您会看到一条错误消息对话框,其中指出:

 The extension took too long to return from the 'computeCompletionProposals()' operation

http://wiki.eclipse.org/images/0/0a/Mylyn-content-assist-timeout.gif

这很可能是,因为有些事情会中断提案操作(例如垃圾回收)。如果它没有重复,请忽略它,如果它存在则增加Eclipse的内存(例如,通过-Xmx384M命令行参数)。有关详细信息,请参阅bug 141457

  

请注意,Mylyn应该只为内容辅助计算添加一些微不足道的开销,但是,标准内容辅助机制不会报告此类超时(即计算提议的时间超过5秒)。
  如果您正在处理的系统太大,以至于增加内存不会减少避免消息的时间,您还可以考虑禁用Mylyn特定的内容辅助,如上所述,但如果这样做,请评论{{3 }}。


您可以在此bug 141457中找到良好的日食设置 由于您已经尝试增加内存,因此可以对错误141457发表评论。

这可能与SO answer 有关,只能在eclipse 3.5.1和3.6中修复。

  

我现在看到了。问题是代码辅助开始使用Java模型   该指数尚未更新

     

您可以等到索引器完成或增加超时时间   在启动Eclipse时设置'org.eclipse.jdt.ui.codeAssistTimeout'Java环境变量,例如

 -vmargs -Dorg.eclipse.jdt.ui.codeAssistTimeout=60000

答案 1 :(得分:10)

我遇到了同样的内容协助,而不是在Eclipse 3.7.2下工作。到目前为止这个版本非常稳定,很难以理解为什么它对我来说从来没有用过。

我没有任何错误信息,也没有提示为什么它不起作用,并花了一些时间来找到'Java Proposals'选项。

它位于Eclipse首选项 - > Java - >编辑 - >内容辅助 - >高级。

确保选中了Java Proposals。

你不要重复Java建议。不要检查Java Non-Type Proposal和Java Type Proposals。

答案 2 :(得分:2)

对我来说,它通过做prefrerences>工作。一般>键>恢复默认值

不要知道它的疯狂,但那就是在所有的谷歌搜索和追踪之后最终的作用。

此致 Manish

答案 3 :(得分:1)

看起来你的mylyn安装可能会被破坏尝试删除mylyn插件并看看你是如何继续的。

答案 4 :(得分:1)

当我遇到类似问题时,我只是卸载了Mylyn / Java集成。我没有使用Mylyn,虽然我知道有些人认为它是自切片面包以来最好的东西,但我从来没有发现它只是一种方法来阻止我的名字完成。

请注意,您想要禁用该错误消息试图告诉您的“Java Proposals(以任务为中心)”。这也将禁用名称完成。

答案 5 :(得分:0)

我遇到了同样的问题,但是当我将项目从gwt 1.5升级到gwt 1.7时,我的问题开始了。 我看了你的评论,我只做了两处修改。 将Xmx增加到-Xmx768m并取消标记Java Proposals(以任务为中心)并标记Java Proposals。 它做得很好,因为我做了这个改变。 我希望它可以帮到你。

答案 6 :(得分:0)

我在eclipse 3.5上遇到了同样的问题。升级mylyn功能解决了它

答案 7 :(得分:0)

Mylyn(或其代码辅助)似乎对构建路径中的资源非常挑剔。

我遇到了这个问题,它是由我不小心添加到Eclipse构建路径的二进制文件引起的。这不会导致任何编译错误或警告,但会在您在帖子中提到的代码完成期间导致异常。

答案 8 :(得分:0)

配置Eclipse的内容辅助,转到“首选项> Java>编辑器>内容辅助>高级”。确保勾选“其他Java提案”。这可能更容易解决......: - )

答案 9 :(得分:0)

我的一个罐子在网络共享上,它挂了超过10秒钟。将JAR复制到本地驱动器,更新我的项目以指向本地文件,我的挂起时间消失了。

答案 10 :(得分:0)

我遇到了同样的问题。

我在-startup选项之前的eclipse.ini文件中添加了-vm选项。 它解决了这个问题!

-vm
C:\Program Files\Java\jdk1.7.0_71\jre\bin\server\jvm.dll
-startup

顺便说一下,我的eclipse版本是4.4.1。

答案 11 :(得分:0)

使用 STS 4.7.0,以下会抛出错误,Arrays.asList("abc", "bbb", UUID.randomUUID()).stream().,但这不会,Arrays.asList("abc", "bbb", UUID.randomUUID().toString()).stream().