当我想创建一个ImageObserver
类型的新变量时,该行开始如下:
IO
我按 Ctrl + Space ,我得到了一些错误的建议!对于不完全匹配的缩写的建议!
Eclipse的内容辅助建议是:
如何摆脱所有其他非完全匹配的缩写?
答案 0 :(得分:1)
即使IOException
以IO
开头,但在IOException
输入时,您真的希望IO
被排除在自动完成状态之外吗?
如果是这样,这听起来像是一个功能请求,但除非你准备好贡献,否则我很快就会看到它被添加。
如果您对贡献感兴趣,则需要撰写Java Completion Proposal Computer。完成后,您只能在首选项中启用您的提议者( Java / 编辑 / 内容辅助 / 高级)。
你甚至可以将你的特殊完成者绑定到它自己的键盘快捷键,这样你就可以获得"完整的缩写"仅完成。
以下是我将模板建议绑定到 Ctrl + 4 的屏幕截图,因此只需一个组合键,我就可以快速获取它们。
我还建议阅读Code Recommenders,该项目为Eclipse添加了更为复杂的代码。
我已经提出了一个bug with Eclipse来查看是否可以在卡片上进行排序完美的Camel Case匹配。
答案 1 :(得分:1)
请记住,完成提案属于一系列类别(即许多不同的潜在匹配来源)。您的示例文本IO
在逻辑上可以解释为驼峰式缩写(例如ImageObserver
)或作为类名的开头(例如{{ 1}}),或甚至作为驼峰式案例的起始匹配(例如IOException
,其缩写以ImageOutputStream
开头)。
我不知道有一个工具能够透彻地知道你想要哪一个这么小的输入。默认情况下,Eclipse使用"相关性"订购完成提案,它的重量是"从"开始在驼峰式比赛之前进行比赛(在我看来是正确的)。我知道,没有公开的方式来改变加权算法。
如果这些是您在Content-Assist中根本不想看到的类或包,则可以定义类型过滤器以排除它们。在偏好设置中,转到 Java > 外观> 类型过滤器来执行此操作。但请注意,类型过滤器适用于整个工作区以及UI中的多个位置,而不仅仅是内容辅助完成建议。