我正在为自定义语言构建工具。它将包含许多组件,包括源代码编辑器。构建此编辑器需要哪些组件。我希望语法高亮,大纲和格式化开始。
我已经使用ANTLR开发了一个解析器。
答案 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。