一些介绍: 我正在编写一个使用Xtext的插件。这个插件打开了Xtext的Eclipse,当用户点击这个eclipse上的一个按钮时,我的插件会在INode-s上计算一些东西。 然后,给定一些INode列表,我想突出显示(下划线+标记)与INodes 对应的行而不重新运行eclipse 。
我认为最好的方法是根据需要调用特定的验证器(如果不可能,重新运行所有验证器也可以)。 如何在Xtext已经启动后告诉Xtext运行验证器?
我想到的另一种方法是将SemanticHighlight用于给定的INode列表。但它可能与上面的问题相同。
感谢。
答案 0 :(得分:1)
Xtext验证通常集成在Eclipse构建过程中,因此只要启用了自动构建,就不需要用户操作。请参阅http://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#custom-validation
如果确实需要访问节点模型(即INode),则可以使用NodeModelUtils.findActualNodeFor(EObject)访问它