Eclipse 自动完成问题

Ton*_*ony 5 eclipse content-assist

我在 Eclipse 中经常在 Java 中使用 Map。例如

  Map<String, String> map = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

然后当我准备用 put 添加一些东西时:

 String key = null;
 String value = null;
 // somewhere before the put, key and value get populated with Strings
 map.put(key, value);
Run Code Online (Sandbox Code Playgroud)

问题是,每次我键入“map.put”时,Eclipse 自动完成功能都会将其更改为“map.compute()”,因此我必须编辑并删除“com”和“e”。

我查看了窗口 -> 首选项 -> Java -> 编辑器 -> 内容辅助,但什么也看不到。我想,我可以关闭所有内容辅助,但这就像“把婴儿和洗澡水一起扔出去”。内容辅助中有很多有用的东西。

我的日食:

面向企业 Java 开发人员的 Eclipse IDE。版本:2018-12 (4.10.0) 版本号:20181214-0600 操作系统:Windows 10,v.10.0,x86_64 / win32 Java 版本:1.8.0_144

我如何修复 eclipse 以便它像在以前的版本中一样提出正确的建议?

Kel*_*ang 1

这似乎是由于从 2018 年 12 月起删除“代码推荐器”的不幸决定

“……不幸的是,代码推荐者将无法进入 2018-12 年。”

https://bugs.eclipse.org/bugs/show_bug.cgi?id=542689

目前的解决方案是从市场手动添加。

Help -> Eclipse Marketplace -> Search for 'Code Recommenders'
Run Code Online (Sandbox Code Playgroud)

不保证它适用于 Java 11+。

安装后,您必须:

  • 重新启动Eclipse
  • 关闭“已安装自动完成”信息页面
  • 尝试自动完成一次并选择顶部选项,例如“启用自动完成”

最后再次尝试自动完成,这次它应该按预期工作

更新:由于缺乏维护者,代码推荐器似乎已被存档。当您尝试下载它时,您将收到 404 错误。希望这只是暂时的。