中カッコのないif文の命令文を自動改行しない

VisualStudio 2017 および 2019 でオートフォーマットに関する以下の 2つの状況が発生した場合の設定方法です。

  • 中カッコのないif文を改行しない
  • using ステートメントの中カッコを改行しない

f:id:Takachan:20211024195113p:plain

なぜか1行で記述したい中カッコを省略したif文の命令文が新しい行に配置されてしまったり、using の中カッコが新しい行に配置されてしまったりする

if (true)
    Console.WriteLine("hoge"); // ★★オートフォーマット動作すると命令文が改行されてしまう

using(foo)
{ } // ★★オートフォーマットが動作すると中カッコが改行される

設定内容

オプションダイアログから

テキストエディター > C# > コードスタイル > 折り返し

から「1 行に複数のステートメントとメンバーを表示する」のチェックを ON にします。

f:id:Takachan:20211024194518p:plain

設定すると以下のようにオートフォーマットで改行されないように動作が変わります。

if (true) Console.WriteLine("hoge"); // ★★自動で改行されない

using (foo) { } // ★★自動で改行されない

簡単なことでしたが意外と影響している項目を探すのが大変でした…

以上です。