简体   繁体   English

如何在C#中自动插入可选的花括号?

[英]How to automatically insert optional curly braces in C#?

In C# (as in Java), curly braces are optional for eg if blocks and loops that only contain a single statement: 在C#中(例如在Java中),花括号是可选的,例如,如果块和循环仅包含一条语句:

if (condition) DoSomething();

I am looking for a tool that inserts missing optional curly braces for my entire solution, turning the above code into something like this: 我正在寻找一种工具,可以为我的整个解决方案插入缺少的花括号,从而将上面的代码变成这样:

if (condition) {
    DoSomething();
}

I know that Eclipse can do this for Java. 我知道Eclipse可以针对Java执行此操作。 Unfortunately, I am not aware of a tool that can do this for C#. 不幸的是,我不知道可以为C#执行此操作的工具。 I would be grateful for suggestions! 我将不胜感激! Thanks! 谢谢!

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

You could write a ReSharper Replace Pattern . 您可以编写ReSharper替换模式
Add a pattern to Pattern Catalog by (in ReSharper 5.1.3 ReSharper->Tools->Pattern Catalog->Add Pattern). 通过(在ReSharper 5.1.3 ReSharper-> Tools-> Pattern Catalog-> Add Pattern中)将图案添加到图案目录。

Then you write your pattern like so: 然后,您可以像这样编写模式:

在此处输入图片说明

Unfortunatly this does not work for if-else. 不幸的是,这对于if-else不起作用。 So you need another pattern like so: 因此,您需要另一个模式,如下所示:

在此处输入图片说明

Then you can set pattern's severity in Pattern Catalog dialog and can click Search now . 然后,您可以在“ 图案目录”对话框中设置图案的严重性,然后单击“立即搜索”

With ReSharper, go to ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout 使用ReSharper,请转到ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout and change neccessary options in Force Braces section to Add braces . ReSharper | Options -> Code Editing | C# | Formatting Style | Braces Layout并更改“ Force Braces部分中的必要选项以Add braces Then find your solution in Solution Explorer, invoke context menu and choose Cleanup code... from it. 然后在解决方案资源管理器中找到您的解决方案,调用上下文菜单并从中选择Cleanup code... Select Default: Reformat code and press Run . 选择Default: Reformat code ,然后按Run But be carefull! 但是要小心! It would also reformat all code files in your solution. 它还将重新格式化解决方案中的所有代码文件。 Be sure to backup if you do it the first time, just in case you wouldn't like ReSharper's default formatting. 如果您是第一次这样做,请确保进行备份,以防万一您不喜欢ReSharper的默认格式。 Maybe you would need to play with formatter settings to make it suit you. 也许您需要使用格式化程序设置才能使其适合您。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM