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

我想学习为特定的编程语言开发Eclipse的编辑器。 有没有可以帮助我的教程? 如果它涵盖语法突出显示和自动完成等主题将是有益的。

我从这个开始。 我使用它已经过时了一年,但概念保持不变。

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

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

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

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

一旦将其显示为仅显示,示例XML编辑器看起来非常有用。

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

我在标准的基于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帮助构建图形编辑器。 一本很好的书(也在safari书籍上)

教程: 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

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

祝你好运!

您可能正在寻找类似于使用JFace文本构建Eclipse编辑器的文章 。 它足以让你入门,它通过语法高亮,内容辅助,内容大纲和错误标记。

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

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

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