意外的代码清除了IF语句的格式化行为。错过了设置吗?

时间:2018-03-15 00:25:55

标签: c# resharper

  • Resharper Ultimate 2017.3
  • VS 15.6.2

我有代码清理设置来更改单个语句的大括号:

enter image description here

然后按如下方式为IF语句括起配置:

enter image description here

但是给出了一些代码,例如:

public void MyMethod()
{
    int a = 0;
    int b = 0;
    int c;

    if (a == 1 && b == 1)
        c = b;

    //This one will format incorrectly
    if (a == 1 && b == 1)
    {
        c = b;
    }
}

当我清理代码时,我得到:

public void MyMethod()
{
    int a = 0;
    int b = 0;
    int c;

    if (a == 1 && b == 1)
        c = b;

    //This one will format incorrectly
    if (a == 1 && b == 1) c = b;
}

注意最后一个IF语句如何出现在一行而不是像上面一行那样出现在自己的行上。

认为这是行为上的改变,但是没有旧版本的R#可以参考。有没有人有2017.3的设置组合,将:

  • 单行IF语句的主体始终显示在自己的行AND
  • 当块只有一行时删除大括号

1 个答案:

答案 0 :(得分:0)

我基于JetBrain的Rider而不是R#中的设置,但我相信设置和组织是相同的。

您正在寻找名为'的简单嵌入式语句放置在同一行上的设置'。它位于“换行符和换行”部分的“C#代码样式”设置下,子组'嵌入式语句的排列'。