Resharper格式的case语句可以与案例本身在同一行开始吗?

时间:2010-12-27 17:03:08

标签: c# formatting resharper switch-statement

我正试图找到一种方法让Resharper格式化这样的开关语句(使用Ctrl + E,Ctrl + C):

switch (int_i) {
    case 1  : Console.WriteLine("You entered one");
              break;
    case 2  : Console.WriteLine("You entered two");
              break;
    case 3  : Console.WriteLine("You entered three");
              break;
    default : Console.WriteLine("Please enter a number between 1 and 5");
              break;
}

我个人根本不喜欢这种风格,但它正在我正在学习的一本书中使用,我希望Resharper帮我格式化我的代码。

这里有两点需要注意:

  1. 语句必须与案例陈述在同一行开始。
  2. 冒号必须对齐,因为default长于case 3case 1case 2和{{}上的冒号前必须有一个额外的空格1}}。
  3. Resharper可以这样做吗?

3 个答案:

答案 0 :(得分:1)

您可以在 ReSharper - 选项 - 语言 - C# - 格式化样式中自定义代码格式,但似乎没有任何关于您的要求。我找到的最近的东西 - 在switch语句中支持格式化。

答案 1 :(得分:1)

我知道这是旧的,但有可能。它并不明显。我刚才偶然发现它。

转到ReSharper选项/代码编辑/ C#/格式样式/大括号布局。选择'阻止"案例"标签'看到样本是错误的。现在选择其他。将其设置为"在行尾(K& R样式)"。样本中的任何内容都不会改变。选择'阻止"案例"标签'再次看到格式化现在是正确的。

我更喜欢BSD风格也适用。

答案 2 :(得分:0)

我认为现在有一个选择。我有2017.3.2版本。

获得ReSharper选项/代码编辑/ C#/格式化样式/换行符和包装/嵌入式语句的排列并设置简单" case"同一行的陈述始终是。