我在Java中经常使用Eclipse的地图。例如
Map<String, String> map = new HashMap<>();
然后,当我准备添加一些put时:
String key = null;
String value = null;
// somewhere before the put, key and value get populated with Strings
map.put(key, value);
问题是,每当我键入" map.put"时,Eclipse自动完成将其更改为" map.compute((",因此我必须编辑和删除" com"one_answers" e"one_answers" e"。
我看着窗口 ->首选项 -> java->编辑器 ->内容协助,但没有明显的内容。我想,我可以关闭所有内容辅助,但这就像"用沐浴水扔掉婴儿"。内容辅助过程中有很多有用的事情。
我的日食:
Eclipse IDE用于企业Java开发人员。版本:2018-12(4.10.0(构建ID:20181214-0600操作系统:Windows 10,v.10.0,x86_64/win32Java版本:1.8.0_144
我如何修复日食,以便像以前的版本一样做出正确的建议?
所提出的解决方案都不适合我。禁用"显示子字符串匹配"是什么解决的。(在Preferences -> Java -> Editor -> Content Assist
中(。
应该认为这将破坏功能,只需键入所需参考的随机部分,例如打字"准备安排"不再导致OraclePreparedStatement
。我不在乎的功能,但这显然是个人喜好的问题。
我认为,该选项的名称是一个微不足道的错误,因为子字符串方面仅适用于领导而不适用于落后内容。
更新:在Eclipse 2020-06中,不再有一个选项。取而代之的是"显示子字匹配",但即使在禁用时,键入map.put
的建议仍然包括compute
。至少在相关性而不是字母上排序时,在compute
之前的建议中列出了put
。
窗口 ->首选项 java->编辑 ->内容辅助 ->高级
取消选中" Java提案(以任务为中心(",而是检查常规的" Java类型建议"为我解决了问题。我正在Windows 10上使用Eclipse for Enterprise Java开发人员2019-03。
这似乎是由于不幸删除从2018-12开始的'代码推荐人'的决定
'...不幸的是,代码推荐人不会进入2018-12。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=542689
目前的解决方案是在市场上手动添加它。
Help -> Eclipse Marketplace -> Search for 'Code Recommenders'
无法保证它适用于Java 11 。
安装后,您必须:
- 重新开始日食
- 关闭"已安装的自动完成"信息页
- 尝试一次自动完成一次,然后选择"自动完成启用" 之类的顶部选项
最终再次尝试自动完成,这次应该按预期工作
更新:由于缺乏维护者,因此已存档了代码推荐程序。当您尝试下载它时,您将获得404。希望这是暂时的。