ReSharper - 围绕单线施加花括号

时间:2010-09-01 21:19:12

标签: c# resharper

当花括号不用于包围单行代码块时,我是否可以配置ReSharper来修复C#代码,如下所示:

if (blnSomeCondition)
   DoSomething();  // complain

if (blnSomeOtherCondition)
{
   DoSomethingElse(); // don't complain
}

由于

7 个答案:

答案 0 :(得分:129)

在新版本的ReSharper(2016.x)中已经转移到Code Style。 ReSharper 2016.1.1

UPD1:适用于ReSharper 2017.x ReSharper 2017.1.2

UPD2:适用于ReSharper 2018.x ReSharper 2018.1

UPD3:适用于ReSharper 2019.x ReSharper 2019.1

答案 1 :(得分:33)

Ryan是正确的(但请注意,他的链接指的是R#2.0帮助)。具体程序如下:

  1. 转到ReSharper>选项>语言> C#>格式化样式>大括号布局
  2. 将“braces in”if-else“statement”设置为“Use braces for multiline”
  3. 保存更改后,选择要重新格式化的范围(可以是代码选择,文件,文件夹,项目,解决方案 - 您想要的任何内容)。
  4. 选择ReSharper>工具>清理代码。
  5. 利润。
  6. 请记住,代码清理会做很多事情,而且它们不仅与代码格式有关(请参阅http://www.jetbrains.com/resharper/webhelp/Code_Cleanup__Index.html的详细信息),因此请明智地使用该功能。

答案 2 :(得分:28)

Gorohoroh的解决方案很接近,但我不得不选择“使用大括号来支持多线”,而是选择“添加大括号”来强制它在单行场景中添加大括号。而且我必须在“Force Braces”下的所有六个下拉菜单中设置它以捕捉所有场景:

alt text

我真正希望的是能够设置ReSharper在规则被违反时执行黄色警告或红色错误,但我还没有找到办法做到这一点。因为你是对的,Gorohoroh,Cleanup Code做了很多事情,我希望有一个选项可以一次查看和修复规则违规行为。

感谢您的帮助!

答案 3 :(得分:8)

ReSharper 2016.2.2

您应该编辑您的个人资料以进行清理。正确的项目称为添加/删除大括号,用于" if-else"," for"," foreach"," while& #34;," do-while","使用" 。此项目可在 C#=>中找到代码样式项目。

如果选中该项,则会添加大括号;如果未选中,将删除大括号。

注意:添加现在不起作用(不知道为什么 - 也许是新版本的ReSharper)。但是,如果您取消选中上述项目,则存在不会删除单个语句周围的大括号。

UPD:问题已解决,请参阅此帖后的前两条评论。

答案 4 :(得分:1)

您可以按照屏幕截图所示对其进行配置。

force curly brackets for a single line of code

PS:对于那些在查看Imgur.com网址时遇到问题的人-> https://ibb.co/b4xijT

答案 5 :(得分:0)

即使可以帮助其他人节省时间,在我公司的一台计算机上,尽管他的帖子质量很高,但遵循谢尔盖的建议还是不够的。

有关设置(VS2017,R#2019,均为最新),R#端的这些设置已经不错,但我还必须在Visual Studio选项中对其进行修改:

  • 在“选项”窗口中,转到文本编辑器-> C#->代码样式-> 格式->常规
  • 选中“ 执行其他代码清除 ”和“ 添加/删除大括号以进行单行控制” 声明

答案 6 :(得分:0)

嗯,它又被移动了。新位置在版本 iterator 上的“语法样式”下。

转到ReSharper 2020.01

这是 ReSharper > Options > Code Editing > C# > Syntax Style > Braces

的屏幕截图

enter image description here