Delphi12 の複数行文字列がフォーマッタにより破壊される

Delphi12 で導入された複数行を書ける文字列を含むソースにフォーマッタ(Ctrl + D)を適用すると、文字列が破壊されてしまう

フォーマッタ前
  1. S := '''  
  2. INSERT INTO table_name (user_name)  
  3. VALUES (:user_name);  
  4. ''';  
フォーマッタ後
  1. S := '''  
  2.  INSERT INTO table_name(user_name)VALUES(: user_name);  
  3. ''';  

改行が詰められ、コロンの後にスペースが挿入されてしまう等
(何故か先頭行の改行はCRのみになる)
SQLインジェクション回避のため、VALUEをコロンで始まるパラメータ指定している場合、意味が変わってしまうので注意(変数宣言の : スペースが適用される)

フォーマッタの定義を変更するか(他で思うようにフォーマットされない可能性)
"+" 演算子でつなぐしかない様子

コメント