我们正在使用Xtext 2.13,并且语法如下:
Document:
'document' name=ID '{'
moreDocuments+=Document*
'}';
DSL可能非常大(大约5000行)并且嵌套了几次。 为了改进概述,我们希望在每个'}处自动添加评论。支架
例如:
document FirstLevel {
document SecondLevel {
} //document SecondLevel
} //document FirstLevel
我们如何实现这一目标?有没有办法在保存或格式化DSL时以编程方式添加注释?
答案 0 :(得分:0)
我的回答晚了,但也许它可能会帮助其他想要实现相同目标的人。在 Xtext 2.24 中,我使用 XtextDocument 的 replace() 方法:
public void handleComments() {
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
XtextEditor editor = EditorUtils.getActiveXtextEditor();
IXtextDocument document = editor.getDocument();
document.replace(offset, 0, commentAdded);
}
}
参数: