私はXtextで動くDSLを持っています。私は現在、新しいFormatter 2.9 APIの下でフォーマッターを設定しています。それは、これまで素晴らしい仕事が、私はそれを徹底的に作ってみました(ので、すべての空白がフォーマットされた)が、それらは列挙型として定義されているように私は私のRelationalOperatorsをフォーマットすることはできません。Xtext 2.9書式設定列挙型
enum RelationalOperator:
EQUALS='=' | LESS='<' | GREATER='>' | LESS_EQUAL='<=' | GREATER_EQUAL='>=' | UNEQUAL='!='
;
通常のアプローチは、各eObjectのためということですASTではメソッドが呼び出されます。 問題は、列挙型の場合はそのようなオブジェクトがないため、関係演算子を使用するすべてのオブジェクトで書式設定を定義したくないということです。また、それらをキーワードとしてフォーマットしても機能しません。
しかし、私は 'EnumRule'にアクセスすることはできますが、そこからテキスト領域にどのようにアクセスできるかわかりません。
ありがとう、私の場合、それは本当に悪い練習になるでしょう。私が扱っている文法には、関係演算子を使用する複数の仕様言語が含まれています。常に演算子を同じように扱いたいと思っています。それらを単一のスペースで囲みます。したがって、あなたのアプローチに従えば、大規模な繰り返しが発生し、維持することが難しくなります。 – dohamann