源代码编辑器中的自动完成建议

时间:2010-05-04 10:04:12

标签: java intellisense autocomplete

大多数IDE(Eclipse,Netbeans,Intelij)都提供了有关您正在编写的当前语句的上下文智能建议。我们想做同样的事情(在Java for Java中)。

我们考虑将输入标记化并构建我们自己的抽象语法树,但很快意识到这可能是一个月的项目及其自身。我们也开始挖掘上面提到的IDE的源代码,但是看起来(如果我错了,请纠正我)自动完成代码与IDE的其余部分紧密编织。

我们想知道是否有人知道我们可以在我们的项目中提供相对隔离的软件包来提供这种自动完成的功能。

谢谢!

5 个答案:

答案 0 :(得分:1)

您应该检查为Eclipse创建自定义编辑器。 没有太多努力的标记化器,代码辅助和着色支持可以很容易地集成到您的编辑器中。 通过一些努力,您可以最小化依赖性并仅发送所需的插件。 Altough eclipse为你做了最多的事情,没有标准的方法来解析内容。 您可以使用Xtext或使用antlr编写客户解析器。

答案 1 :(得分:1)

如果您愿意支持自动编译并将自动完成限制为已编译的类,则可以尝试使用Reflection API。否则,您正在寻找一个需要大量资源才能完成的非常大的项目。

答案 2 :(得分:0)

如果您使用SWT和JFace,您会感到高兴:编辑器中GUI端的自动完成功能已经包含在内,并在很多项目中进行了讨论。

然而,对于Swing,您可能会看得更远。

在您的上下文中有用的东西必须由您自己决定,据我所知,没有任何工具,除非您使用像xText这样的DSL框架。

答案 3 :(得分:0)

JIDE-Commons提供简单的“完成”功能,可用于例如完成简单的单词或文件名。也许这个简单的解决方案已经适合你。

答案 4 :(得分:0)