Eclipse 3.6 在内容辅助期间经常停止

Posted

技术标签:

【中文标题】Eclipse 3.6 在内容辅助期间经常停止【英文标题】:Eclipse 3.6 frequently stalls during Content Assist 【发布时间】:2011-06-25 22:32:06 【问题描述】:

自动完成功能如此频繁且长时间停止,我完全停止使用它。

【问题讨论】:

Limc - 在我感谢您之前,您的评论已被删除:我将发布此消息的答案,以便其他人可以看到修复。 重复***.com/questions/3953012/… @Pēteris Caune - 感谢您的链接。这正是我一直在寻找的,看起来很有希望。我看到了多种我想尝试的解决方案和变通方法。最简单的方法是回滚到 3.5。有机会实施后我会发布结果。 【参考方案1】:

我在 Windows 7 x64 上使用 Eclipse (Classic) 3.6.1 成功完成了以下操作。

“在 3.6.2 中发布修复之前,这里总结了一种解决方法:http://groups.google.com/group/android-developers/msg/0f9d2a852e661cba”

(复制方便)

"你可以替换你的 /plugins/ org.eclipse.jdt.core_3.6.1.v_A68_R36x.jar 插件,其中一个来自 http://www.google.com/url?q=http://adt-addons.googlecode.com/svn/patches/org.eclipse.jdt.core_3.6.1.v_A68_R36x.zip&ei=vg5aTf2RIMrUgAeI-qTvDA&sa=X&oi=unauthorizedredirect&ct=targetlink&ust=1297749446528273&usg=AFQjCNFv7FGlTrnoVhRGE35JPjHxOwI_Bw 并重新启动 Eclipse。内容辅助会好很多。就试一试吧。 不要忘记备份您的原始插件。 "

【讨论】:

天啊,做到了。我挖掘了侧链接并回到了这个确切的帖子。代码辅助现在对我来说太可怕了。 Aparantly 这是一个众所周知的问题,如果你知道在哪里看。要知道的关键事项是:3.6(Helios) 和 Android ADT && 3.6 搜索 javadocs。两者都是 3.6 上的已知问题 - 将在 3.7 中修复。每bugs.eclipse.org/bugs/show_bug.cgi?id=325829 是的,代码辅助在 i7-930 超频到 3.5 GHz 的新机器上需要几秒钟,而在旧的 core 2 duo 机器上却是瞬时的。我意识到这一定是我使用的新版 eclipse 中引入的错误,我的搜索将我带到了***.com/questions/3783461/…,John T 提供了修补插件的链接。 你的帖子解决了一些让我永远发疯的问题。谢谢乔恩 :)【参考方案2】:

这解决了我的部分问题。

在首选项中,我默认了所有的“Java->Editor->Content assistant”屏幕,性能得到了很大改善。我现在的任何延迟都是由于系统速度造成的,可以忽略不计。我已经从几分钟到几秒钟建立了建议列表。

更新:这并没有完全解决我的问题,但它让我很接近。搜索继续……

更新:我正在为 Android 开发 Java,使用包含的默认包以及更新期间可能出现的任何包(回想起来,在 SDK 更新中选择全部更新可能并不明智)。时间线上线下相当一致。我做了一些测试,发现如下:

启动 Eclipse 并输入一行可以使用 .toString() 的代码。键入“。”在 2-3 秒内填充自动完成。键入“t”,需要 70-75 秒。之后,10秒。 Diff 对象做同样的事情(第一次是 75,之后是 10)。过滤过程似乎停止了。我的 CPU 没有达到最大值,内存还可以,但是程序在完成之前不会响应。当 Eclipse 开始响应时,任何预先输入的内容都会被缓存并最终过滤列表。

【讨论】:

它为哪些库而停滞不前?标准库通常是本地的,但可以为其他模块/库的文档指定远程位置(以便通过网络拉取信息),这可能会导致您的问题。【参考方案3】:

对我来说,当我增加 vm 的内存时,问题就消失了。 把它放在你的 eclipse.ini 中:

-Xms512m
-Xmx1024m

【讨论】:

我没有注意到有什么不同,但我终于注意到了一些我以前没有注意到的东西。第一次必须填充自动补全,大约需要 75 秒。第二次在同一个对象上,只需要大约 10 次。显然,它正在缓存列表并且还不错。下一个测试是看看同一个项目中的其他对象会发生什么。 实际上我的解决方案无法解决问题,正如您明确指出的那样。经过长时间的无故障使用后,我昨天亲身经历了延迟。我没有更改任何设置,问题只是决定自己回来。诡异的。我没有像你那样看到这些疯狂的时间,75 秒和 10 秒。对我来说,这通常是即时的,除了昨天的一次,锁定时间为 30-45 秒。为了比较,我使用的是 Ubuntu Maverick-64 和 4GB 内存。 对不起金星你。我认为我的疯狂时间是由于硬件。它只是具有 2GB RAM 的 XP Pro 双核 Intel T2400(2GHz)。 Pēteris Caune 在上面发布了一个我计划探索的好链接。它导致了一些其他有用的资源,可能只是为我解决它。 问题已解决。看看答案,以备不时之需。【参考方案4】:

在我的 4GB Windows Vista 系统上,这会发生很多! (以及查找变量时的调试问题)。

在我用 8GB RAM 构建新 PC 后,这一切都消失了。我现在可以同时运行 4 个模拟器,它也不再有任何调试问题。带有大量列表的自动完成也可以正常工作。

这似乎只是你拥有多少 RAM 的问题。

【讨论】:

我尝试通过同时运行来测试它:Photoshop CS5、Visual Studio 2010、带有可视化功能的 WinAMP、eclipse、4 个模拟器...... Eclipse 在我的 8GB 系统上的性能仍然坚如磐石。我不可能在 4GB 上做到这一点,因为如果我将 Eclipse 与 Visual Studio 一起运行,它会窒息。

以上是关于Eclipse 3.6 在内容辅助期间经常停止的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 内容辅助

Eclipse 3.2.2 内容辅助在项目中找不到类

Ctrl + Space 不适用于 Eclipse 上的内容辅助

如何告诉 Eclipse 自动显示内容辅助?

Eclipse 内容辅助在枚举常量参数列表中不起作用

Eclipse 上的内容辅助