有关开发自定义Eclipse编辑器的教程

时间:2009-04-24 17:40:55

标签: java eclipse editor

我希望了解为特定编程语言开发Eclipse的编辑器。有没有可以帮助我的教程?如果它涵盖了语法高亮和自动完成等主题,那将是有益的。

4 个答案:

答案 0 :(得分:12)

我是从this one开始的。我使用它已经过了一年,但概念保持不变。

我可以建议代替一个方法的最好的方法是找到已经集成的语言,看看他们是如何做到的。这是真正的建议 - 不要选择一个以org.eclipse开头的包名称(如蚂蚁一个)。 eclipse提供了如此多的支持,如果它以另一个包前缀开头,则更容易看到需要编写的代码。例如,尝试查看groovyscala插件。

根据我的经验,这是错误突出显示哪个是最难准确的;下一个最难的是内容协助。

如果您控制编辑器或编写编辑器的语言的运行时,如果您可以让编译器为您提供IDE所需的所有数据,那么它将使生活变得更加容易。用户(例如令牌列表 - 用于语法着色,工具提示;内容辅助将更好,因为您不是伪造编译器,而是使用真实的编译器;与错误突出显示相同)。

IDE只有显示错误和着色等相对简单的工作。

只有将其显示为仅显示,示例XML编辑器才非常有用。

我发现的大部分分区规则都没那么有用;我总是建立自己的 - 在令牌列表上进行二元搜索非常有用。

答案 1 :(得分:11)

我在标准的基于Eclipse文本的编辑器中看到的最好的是

http://www.ibm.com/developerworks/edu/os-dw-os-ecl-commplgin1.html

(您需要注册免费的IBM帐户)。 Prashant Deva,一个非常好的ANTLR2插件的作者做了这个。

您可能还想查看将生成编辑器的工具:

Eclipse建模项目(EMF / TMF / GMF)

http://www.eclipse.org/modeling/

TMF帮助建立文本编辑; GMF帮助构建图形编辑器。 一本非常好的书(也在野生动物园书籍上)

教程:http://wiki.eclipse.org/index.php/GMF_Tutorial

GMF简介:http://www.ibm.com/developerworks/opensource/library/os-ecl-gmf/

动态语言工具包

http://www.eclipse.org/dltk/

该网站提供的教程。请注意,您也可以使用DLTK进行静态语言编辑; “动态”部分来自解释器配置和启动。

Xtext (现在是TMF的一部分)

http://wiki.eclipse.org/Xtext

注意:良好的内容辅助可能非常困难;它确实涉及语法中每个终端的后续分析。您可以通过跟踪已定义的符号和关键字并仅建议与现有前缀匹配的所有内容来简化它。上面的发电机使这更容易,但并不完美。

祝你好运!

答案 2 :(得分:6)

你可能正在寻找关于构建Eclipse editors with JFace text的这篇文章。它已经足够让你开始,它通过语法高亮,内容辅助,内容大纲和错误标记。

答案 3 :(得分:1)

所有这些答案都很好,我查看并使用了上面链接的教程。

我在布拉格的查尔斯大学添加this one。它最近已经更新,而上面提到的是5到10年前。

我确实不确定事情发生了多大变化,但由于这对我很有帮助,我在此处添加。