Resharperを利用時にCleanup Code実行時にif文で中括弧が削除される

Resharperの2017.2を利用していると、CleanupCodeを実行時にif文の中括弧が削除されるフォーマットが実行されることがあります。

具体的にはこのような感じになります。

CleanupCode実行前のコード

if( condition == true)
{
    Console.Writeline("test");
}

Cleanup Code実行後のコード

if( condition == true)
    Console.Writeline("test");

中括弧の有無についての是非はそれぞれあると思うのですが、個人的には必ず中括弧はつけるためこの設定は見直したいと思いました。

対応方法

Cleanup Codeの実行時の設定を変更するには、Code Cleanupの設定をコピーしてAdd/Remove barances for...のチェックを外せば中括弧が削除されることはなくなります。

image.png (165.8 kB)

これで中括弧が削除されることはなくなりました。

Resharper

JetBrains ReSharper Ultimate 2017.2.2  Build 109.0.20171006.122324
dotCover 2017.2.20171006.131113
dotTrace 2017.2.20171006.131127
ReSharper 2017.2.20171006.123800
dotMemory 2017.2.20171006.131009

参考

c# - ReSharper - force curly braces around single line - Stack Overflow