我从这个开始。我使用它已经过时了一年,但是概念保持不变。
我可以建议的最好的方法是找到已经集成的语言,然后看看他们是如何做到的。这是真正的建议-
不要选择一个以包名开头的包
org.eclipse(例如ant)。eclipse提供了很多支持,如果它以另一个包前缀开头,则很容易看到需要编写什么代码。例如,尝试查看groovy或scala插件。
以我的经验,最难做到的是突出显示错误。接下来最困难的是内容协助。
如果您控制着编写编辑器的语言的编译器或运行时,那么如果您可以让编译器为您提供IDE呈现给用户的所有数据,那么它的工作就容易得多(例如标记列表-
用于语法着色,工具提示;内容辅助会更好,因为您不是伪造编译器,而是使用真实的编译器;并带有错误突出显示。
IDE具有相对容易的工作,它仅显示错误和颜色等。
一旦只显示它,示例XML编辑器看起来就非常有用。
我发现许多分区规则都没有用。我总是最终建立自己的-在令牌列表上进行二进制搜索非常有用。



