我可以为 Java @Eclipse 提供全文自动完成功能吗?让我们来演示一下:
最后一段代码:
getVariants().add(new Variant(MediaType.TEXT_XML));
我现在如何编码:
getv[ctrl+space].a[Enter]new V[ctrl+space, down arrow, Enter]M[Ctrl+Space, Enter].text_x
基本上,当我提供字母“TEXT_X”时,Eclipse 会完成单词“TEXT_XML”。
我想如何编码:
getv[ctrl+space].a[Enter]new V[ctrl+space, down arrow, Enter]M[Ctrl+Space, Enter].xml
Eclipse 应该意识到我的意思是“TEXT_XML”(全文自动完成)。
最佳答案
据我所知,无法在 Eclipse 首选项 View 中启用全文代码完成。这也困扰了我一段时间。我做了很多挖掘工作,我很确定没有简单的方法可以实现这一目标。
但是, 有两种实现所需的方法,但我认为这两种方法都可以解决这个小问题。
JDT Java Completion Proposal Computer 有一个 Eclipse 插件扩展点 - reference page 可以找到实现此扩展点的示例项目 in this repository . 这相当方便,
但仍然有很多样板代码和乏味的编码。您可以更改内部的
findKeywords
方法org.eclipse.jdt.internal.codeassist.CompletionEngine类并编译您自己的 JDT 分支。但由于很多原因,这是不鼓励的。首先,这个类是一个 12000 行的怪物,很难直接跳进去。当然,如果你只是偷偷摸摸地进去,这成为官方贡献的可能性很小,所以你需要担心关于每个 Eclipse 版本。
此外,将来可能会有一种非常轻松的方式。尽管这可能会超出您的要求一点。
看看 Code Recommenders project .这blog有一个 outline of the project objectives 它没有具体提到全文自动完成,但我认为它的匹配算法甚至不止于此。
编辑:本着正确的 SO 精神,我会及时更新此答案:
显然,该功能现在已在 Code Recommenders 插件中实现。看这个blog post还有这个forum thread .我很惊讶它只用了 10 个位置。对我来说,扩展点显得更复杂。
关于java - Eclipse:Java 的全文自动完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755869/