Visual Studio 我可以让Resharper在一行中对齐switch语句中的case子句吗?

fdbelqdn  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(146)
  • (注:This, 7-year-old reply指的是这个功能的JetBrains request,它后来在2017年被标记为“完成”。但他们已经重新安排了他们的选项对话框,我找不到对等的。所以我再次发布)*

我正在用C#输入switch语句。当case语句很短时,我通常希望将它们排成列,因为这样可以使代码更容易一目了然。例如,我可能希望它看起来像这样

switch (XyLengthUnit)
{
case LengthUnit.CM: _precision = 6; break;
case LengthUnit.MM: _precision = 3; break;
}

但每次我到达一行的末尾并键入分号时,Resharper都坚持将break向下移动到下一行

switch (XyLengthUnit)
{
case LengthUnit.CM: _precision = 6; break;
case LengthUnit.MM: _precision = 3; 
    break;    
}

所以我每次都要按退格键来修正。
我确信是Resharper在做这件事,因为当我禁用它时,行为停止,我的“break”语句仍在同一行。
我已经检查了Resharpers Options〉〉Code Editing〉〉C#〉〉Formatting Style〉〉Tabs,Indents,Alignment 下的每一个设置,似乎没有任何改变。我在“Line Breaks and Wrapping”下找到了一些设置,似乎是合适的(并且与前面提到的特性请求相关),但是它们没有改变行为

(This是我现在的设置,但是我已经用了很多次了。它们似乎没有改变任何东西。只要我点击分号,break就会被移动)
我知道许多重颤器设置在某一列有“硬中断”,但我通常将这些设置为非常高的数字(eidogg.列150)。
有没有我遗漏的设置?有没有可能让reharper像这样对齐东西?

k5hmc34c

k5hmc34c1#

不,现在不可能。当case节中只有一个语句时,“放置简单case语句”生效,而在您的case中有两个语句,包括break;语句。

相关问题