xtext のフォーマッタについていくつか質問があります。私はSQLのような言語を扱っています。
- コメント用に 3 つのデフォルトの setLinewrap() コマンドを使用しています。
SL_COMMENT
ただし、 の後にスペースが挿入されます。
お気に入り
UPDATE plays SET scores = scores - [ 12, 21 ] WHERE id = '123-afde'; // removes all occurences of 12 and 21 from scores
SELECT * FROM myTable WHERE t = now();
なる
UPDATE plays SET scores = scores - [ 12, 21 ] WHERE id = '123-afde';
// removes all occurences of 12 and 21 from scores
SELECT * FROM myTable WHERE t = now ( );
その余分なスペースを削除できますか?
- 行が長すぎる場合にのみ特定の場所で折り返す方法は? 試し
setLinewrap(0, 1, 1)
ましたが、うまくいきません。
例えば
UPDATE table SET a = a + 1 WHERE a > 0;
UPDATE tablelongna SET c = c + 1 WHERE c IN (1, 2, 3, 4, 4, 5, 6, 7, 0, 7, 8);
なる
UPDATE table SET a = a + 1 WHERE a > 0;
UPDATE tablelongna SET c = c + 1
WHERE c IN (1, 2, 3, 4, 4, 5, 6, 7, 0, 7, 8);
- 私は使用
setLinewrap(2).after(T_SEMICOLON);
していますが、通常のケースでは問題なく動作します。ただし、バッチクエリの場合
このような
BEGIN BATCH
UPDATE ......;
UPDATE ......;
APPLY BATCH;
NEXT QUERY.....
上書きしようとしsetLinewrap(1).before(K_APPLY);
ていますが、うまくいきません。使用できないsetNoSpace()
か、setNoLinewrap()
それ以外APPLY BATCH
の場合は独自の行がありません。
フォーマッタですべてのキーワードを大文字に置き換えることはできますか? 元。
select * from foo;
にSELECT * FROM foo;
。すべての API が空白/改行のみを操作できるように見えますか?それが私の問題かどうかはわかりませんが、デバッグモードでフォーマッタをホットスワップできません。変更を確認するには、別の Eclipse インスタンスを終了して再度実行する必要があります。