使用Resharper的自定义Brace格式


78

我正在使用Resharper 4.5,并且在编写数组或对象初始化程序时需要自定义大括号格式。Resharper支持某些样式:

牛羚风格:

int[] array = new int[]  
                  {  
                      1, 2, 3  
                  }  

但是我需要:

int[] array = new int[] 
{  
    1, 2, 3  
}  

有什么办法可以自定义此模板?

Answers:


165

您可以自定义ReSharper来做到这一点,您需要执行以下操作(全部在ReSharper-> Options-> C#-> Formatting Style中):

  1. 括号布局中,将Array和object initializer设置为At Next Line(BSD样式)
  2. 在“其他”中,确保“连续行缩进乘数”设置为1
  3. 其他,确保缩进数组,对象和集合初始化块未选中

您应该得到想要的样式。


太糟糕了,有人不能将其标记为正确答案,因为显然是这样。
jeremcc

1
不,这不是解决方案。此设置不会将第一大括号放在下一行。
brianary

1
这需要步骤4:在“其他”中,确保“缩进数组,对象和集合初始化程序块”为“未选中”。
brianary

1
查看@mbx的答案以获取最新版本。
2013年

1
在Resharper 8中,对于第3步,删除了第一个单词“ Indent”。因此,您需要查找“数组,对象和集合初始化程序块”,然后取消选中它。
stricq 2014年

9

从R#7.1开始,某些Option属性已更改:

  1. 大括号布局中,将Array和object initializer设置为At Next line(BSD样式)
  2. 在“其他”中,确保“连续行缩进乘数”设置为1

就像在旧版本中一样

  1. 在“其他”中,在“对齐多行构造”中,确保未选中Array,Object和Collection初始化程序。


0

(@igal和@mbx先前答案的继续)

从R#2017.1(可能还有更早的版本)开始,请执行以下操作:

  1. 在“格式设置样式”->“大括号布局”中,将“数组和对象初始化”设置为“下一行”(BSD样式)
  2. 在“格式设置样式”->“其他”->“缩进”中,确保“连续行缩进乘数”设置为1
  3. 在“格式化样式->其他->对齐多行构造”中,确保未选中Array,object和collection初始化程序。如果符合相同样式,则可能还需要取消选中“匿名方法主体”

-4

据我所知,Resharper具有预定义的样式,但是也许如果您创建自己的实时模板并按照您希望的方式进行设置。

希望这可以帮助。


看来您真的不能.... live模板会做其他事情,但对代码格式没有影响。
哈迪·埃斯坎达里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.