java - Eclipse:Java 的全文自动完成?

标签 java eclipse

我可以为 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 中启用全文代码完成。这也困扰了我一段时间。我做了很多挖掘工作,我很确定没有简单的方法可以实现这一目标。

但是, 有两种实现所需的方法,但我认为这两种方法都可以解决这个小问题。

  1. JDT Java Completion Proposal Computer 有一个 Eclipse 插件扩展点 - reference page 可以找到实现此扩展点的示例项目 in this repository . 这相当方便,但仍然有很多样板代码和乏味的编码。

  2. 您可以更改内部的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/

相关文章:

java - 如何将一批.jpeg文件转换为.gif动画?

java - 如何在应用程序引擎上生成类似民意调查ID的涂鸦?

java - 是什么导致了 java.lang.InternalError(它扩展了 VirtualMachineError)

c++ - Eclipse 中的奇怪错误

java - 从Map中获取键值对

javascript - 通过http请求发送文件

java - 缓存 JSON 字符串与 Java 对象

android - 仅在某些工作区中构建路径不完整(Android)

java - 在 eclipse 中使用 OWL API 检索个人的数据属性

java - FindBugs 未显示找到的错误