在Eclipse中有没有类似IntelliJ的自动完成功能?

45

我在一个项目中卡在了Eclipse上,希望能够得到类似IntelliJ的自动补全功能 - 主要存在两个问题:

  • 开始输入时,Eclipse会自动提供所有可能的建议
  • 当在下拉列表中选择一个项目后,你不仅可以使用回车键接受它,还可以使用句点、空格等

2
为什么不问一个关于如何在同一个项目中与IDEA和Eclipse共存的问题呢?(如果这是你被困在Eclipse中的原因) - Denis Tulskiy
能否在 IDEA 和 ECLIPSE 中同时在同一个磁盘上工作?会不会出现数据损坏或丢失的风险? - KJW
1
这篇文章解决了你的问题:https://dev59.com/YnI-5IYBdhLWcg3wKE-x - user873337
1
这里解决了你在Eclipse中的自动补全问题。 - user873337
5个回答

106

前往Window → Preferences → Java → Editor → Content Assist。 在“Auto activation triggers for Java”列中输入以下内容:

.qwertyuioplkjhgfdsazxcvbnm_QWERTYUIOPLKJHGFDSAZXCVBNM

添加任何其他你想要的键即可。完成了。这回答了你的第一个查询。

至于第二个查询,我认为它已经存在。


10
Eclipse最棒的调整之一。谢谢! - A1exandr Belan
2
我原本打算转到IntelliJ,但在这个调整之后,我觉得我不需要这样做了。 :) - alienCoder
请确保从“Window → Preferences → Java -> Editor → Content Assist → Advanced”中删除代码推荐器Java建议。这会大大加快速度。将其切换为仅使用Java建议。 - Ajay
3
为什么它不是默认启用的? - eastwater
3
再见 CTRL-SPACE - A.W.
1
Eclipse可以做很多事情,可惜很多功能因为难以发现而被忽视了。输入字段上应该有工具提示,选项的信息虽然可以从帮助中获取,但最好不要在第一次使用时就需要去查找它们,我所关注的选项就在对话框中,如果我只需要将鼠标悬停在它们上面就能知道它们的作用并决定是否使用,那么我会这样做,如果我必须在帮助页面中寻找,我就不会这样做,就像大多数人一样。 - SantiBailors

3

2

我必须说NO。我从Eclipse转到IntelliJ是因为它的智能提示功能,而且无法使Eclipse的行为像IntelliJ(或者如果你来自.NET环境:无法使Eclipse的智能提示像.NET中的ReSharper一样)。

你必须在Eclipse中工作吗?我98%的工作都在IntelliJ中完成,然后将项目转换为Eclipse项目(IntelliJ仍然可以访问它),并在Eclipse中完成。也许你可以尝试这个解决方案。


4
这给出了错误的回答,错误地假设Resharper是Visual Studio智能感知的原因,并试图推销一个OP可能不需要的产品。 - stepanian
@stepanian 没有购买。它是免费使用的。 ;) - sandalone
你需要使用Ultimate版本才能进行一些有用的操作,例如Servlets、SQL等。 - stepanian
我只用它来进行Android开发,也不需要购买任何东西 ;) - sandalone

2

1

我认为在Eclipse中有这样的功能,特别是在Eclipse Helios版本中。当您输入时,按下CTRL+SPACE,或者当您键入变量名称'.'时,将开始自动完成选项。 此外here有人建议将自动完成延迟设置为0。

顺便说一句,您也可以使用空格键接受您的选择。

编辑: 为什么不考虑使用NetBeans,这是我个人最喜欢的IDE。在那里,您可以选择在开始键入任何Java标识符部分时显示自动完成。这将完全符合您的要求。(在NetBeans中,选择工具->选项->编辑器->代码完成,在语言框中选择Java,最后勾选“在键入任何Java标识符部分时自动弹出”)。


22
如果你曾经在这两个应用程序中工作过,那么你就会意识到不能将 Eclipse 的自动完成功能与 IntelliJ 的自动完成功能相比较。 ;) - sandalone
@askmo 是的,我对IntelliJ没有太多经验。但从问题描述来看,在NetBeans中您似乎拥有所有这些功能,尽管在Eclipse中我看不到任何解决办法。 - Boro
我仍然认为IntelliJ拥有最好的自动完成(智能感知)工具。它确实有其他不好的地方,但就自动完成而言,我认为它是最好的。尽管如此,我同意NetBeans比Eclipse更好,但是Eclipse是Android开发的首选工具。 - sandalone
是的,我同意你的观点。也许有一天我会再次尝试使用IntelliJ。最好的祝福。 - Boro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接