我的语法看起来像这样
NAME value
我使用经过处理的xtend文件进行格式化
/*
* generated by Xtext
*/
class MyFormatter extends AbstractDeclarativeFormatter {
@Inject extension MyGrammarAccess g
override protected void configureFormatting(FormattingConfig c) {
c.setAutoLinewrap(700)
c.setLinewrap().around(g.getSpecificRule)
c.setSpace(" ").between(n.getNamerule, n.getValueRule)
}
}
我想根据姓名规则的长度做一些格式化, 所以我可以把值放在一个特定的列上,所以我不想在两个空格中放置一个可变数量的空格,具体取决于名称的长度。
有人可以指导我实现这一目标。
答案 0 :(得分:1)
您应该使用新的格式化API,允许您根据实际的语义和节点模型进行格式化:https://eclipse.org/Xtext/documentation/303_runtime_concepts.html#formatting。旧的格式化API仅基于语法结构。