2

在 C# 中(如在 Java 中),花括号是可选的,例如只包含单个语句的 if 块和循环:

if (condition) DoSomething();

我正在寻找一种工具,可以为我的整个解决方案插入缺少的可选花括号,将上面的代码变成这样的东西:

if (condition) {
    DoSomething();
}

我知道 Eclipse 可以为 Java 做到这一点。不幸的是,我不知道有什么工具可以为 C# 做到这一点。我将不胜感激建议!谢谢!

4

4 回答 4

3

JetBrains Resharper让您可以通过短击键进行此类代码重构。

于 2012-08-22T14:30:22.210 回答
1

你可以写一个ReSharper Replace Pattern
通过(在 ReSharper 5.1.3 ReSharper->Tools->Pattern Catalog->Add Pattern 中)将模式添加到 Pattern Catalog。

然后你像这样写你的模式:

在此处输入图像描述

不幸的是,这不适用于 if-else。所以你需要另一个像这样的模式:

在此处输入图像描述

然后您可以在Pattern Catalog对话框中设置模式的严重性,然后可以单击Search now

于 2012-08-23T10:52:41.127 回答
0

使用 ReSharper,转到ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout并将Force Braces部分中的必要选项更改为Add braces. 然后在解决方案资源管理器中找到您的解决方案,调用上下文菜单并从中进行选择Cleanup code...。选择Default: Reformat code并按下Run。但要小心!它还会重新格式化您解决方案中的所有代码文件。如果您第一次这样做,请务必备份,以防您不喜欢 ReSharper 的默认格式。也许您需要使用格式化程序设置以使其适合您。

于 2012-08-27T14:57:07.847 回答
0

你可以使用大括号完成器

http://visualstudiogallery.msdn.microsoft.com/0e33cb22-d4ac-4f5a-902f-aff5177cc94d

于 2012-08-22T14:32:24.423 回答