我在带有Eclipse的Java中经常使用Map。例如
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”和“ e”。
我看了看Window->首选项-> Java->编辑器-> Content Assist,但是什么都没有。我想我可以关闭所有内容帮助,但这就像“用洗澡水把婴儿扔出去”。内容帮助中有很多有用的东西。
我的Eclipse:
面向企业Java开发人员的Eclipse IDE。 版本:2018-12(4.10.0) 版本号:20181214-0600 操作系统:Windows 10,v.10.0,x86_64 / win32 Java版本:1.8.0_144
答案 0 :(得分:4)
没有一个提议的解决方案对我有用。解决的办法是禁用“显示子字符串匹配”(在Preferences -> Java -> Editor -> Content Assist
中)。
应考虑这将破坏功能,仅键入所需参考的随机部分,例如键入“ PreparedStatement”不再导致OraclePreparedStatement
。我不关心的功能,但这显然是个人喜好问题。
我认为,该选项的名称有点用词不当,因为子字符串方面仅适用于前导内容,而不适用于尾随内容。
更新:在Eclipse 2020-06中,不再存在“显示子字符串匹配”选项。它的位置是“显示子词匹配”,但是即使被禁用,键入map.put
的建议仍然包括compute
。至少在按相关性而非按字母顺序排序时,put
列在compute
之前的建议中。
答案 1 :(得分:1)
这似乎是由于不幸的决定,从2018年12月起删除了“代码推荐人”
“ ...不幸的是,代码推荐者不会进入2018-12年。”
当前的解决方案是从市场上手动添加它。无法保证它将与Java 11+一起使用。
安装后,您将必须:
最后再次尝试自动完成,这一次应该可以正常工作
答案 2 :(得分:0)
窗口->首选项 Java->编辑器->内容辅助->高级
取消选中“ Java提案(针对任务)”,而是选中常规的“ Java类型提案”,为我解决了此问题。我正在Windows 10上使用Eclipse for Enterprise Java Developers 2019-03。