使用Resharper自定义Brace格式

时间:2009-04-14 12:41:13

标签: c# resharper indentation auto-indent

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

Gnu风格:

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

但我需要:

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

有没有办法自定义此模板?

5 个答案:

答案 0 :(得分:165)

您可以自定义ReSharper来执行此操作,您需要执行以下操作(全部在 ReSharper - >选项 - > C# - >格式化样式):

  1. 大括号布局中,设置数组和 对象初始化程序在下一步 线(BSD风格)
  2. 其他中,确保连续行缩进倍数设置为 1
  3. 其他中,确保缩进数组,对象和集合初始化程序块 未选中
  4. 你应该得到你想要的风格。

答案 1 :(得分:9)

从R#7.1开始,一些Option属性发生了变化:

  1. 大括号布局中,将数组和对象初始值设定项设置为在下一行(BSD样式)
  2. 其他中,确保连续行缩进倍数设置为 1
  3. 与旧版本和

    一样
    1. 其他中,在对齐多行构造时,请确保取消选中数组,对象和集合初始值设定项

答案 2 :(得分:2)

这篇文章似乎有一个类似于您正在寻找的答案:

ReSharper: Fixing array and object initializer indentation

答案 3 :(得分:0)

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

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

  1. 格式化样式 - >大括号布局,将数组和对象初始值设定项设置为在下一行(BSD样式)
  2. 格式化样式 - >其他 - >缩进,确保连续行缩进倍数设置为 1
  3. 格式化样式 - >其他 - >对齐多行构造,确保数组,对象和集合初始化程序 未选中。如果符合相同的样式,您可能还需要取消选中匿名方法正文

答案 4 :(得分:-4)

据我所知,Resharper提供了预定义的样式,但是如果您创建自己的实时模板并按照您希望的方式设置它可能会有效。

希望这会有所帮助。