【问题标题】:Can I make Resharper align case clauses in switch statements on one line?我可以让 Resharper 在一行的 switch 语句中对齐 case 子句吗?
【发布时间】:2022-10-23 17:16:57
【问题描述】:

(注意: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 下的每一个设置选项 >> 代码编辑 >> C# >> 格式样式 >> 制表符、缩进、对齐似乎没有什么可以改变这一点。我在“换行符和换行”下找到了一些设置似乎适当的(并与前面提到的功能请求相关),但他们没有改变行为

(这就是我现在的设置方式,但我已经广泛使用它们。它们似乎没有改变任何东西。只要我点击分号,break 就会被移动)

我知道许多 Resharper 设置在某一列都有“硬中断”,但我通常将它们设置为非常高的数字(例如第 150 列)。

是否有我缺少的设置?是否可以让 Resharper 对齐这样的东西?

【问题讨论】:

    标签: c# visual-studio resharper


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2023-02-18
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2013-09-24
      • 1970-01-01
      相关资源
      最近更新 更多