如何在Rich Client Platform中编写自定义语言的源代码编辑器?

时间:2011-05-04 12:43:14

标签: java eclipse-plugin swt eclipse-rcp jface

我正在为自定义语言构建工具。它将包含许多组件,包括源代码编辑器。构建此编辑器需要哪些组件。我希望语法高亮,大纲和格式化开始。

我已经使用ANTLR开发了一个解析器。

3 个答案:

答案 0 :(得分:6)

如果你真的想/需要“手动”创建你的DSL及其编辑器,那么我建议使用JFace Text framework来创建编辑器。

但是,虽然你说你已经有了一个解析器,但我强烈建议你看看Xtext,看看它是否适合你的需要。它为您提供了一种定义DSL的方法,并自动生成具有语法突出显示,代码完成等功能的编辑器。和AFAIK一样,它使用下面的ANTLR来生成解析器。使用Xtext,您还可以为您的语言创建编译器(或解释器)。

答案 1 :(得分:3)

我认为Xtext正是您所寻找的。使用Xtext,您可以定义DSL,然后可以启动自定义Eclipse,为您定义的DSL提供代码完成,语法突出显示等。

答案 2 :(得分:-1)

查看JEditorPane及其相关文档。这可以用来突出显示。另请查看http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html以获取有关如何自定义文档的更多信息,特别是StyledDocument。