如何阻止ReSharper删除对象初始值设定项中的空格

时间:2010-07-19 10:48:37

标签: c# formatting resharper

我喜欢我的对象初始化器看起来像这样:

new Point { Label = g.Key.Name, Claims = g };

当按分号键时,它们会像这样重新格式化:

new Point {Label = g.Key.Name, Claims = g};

阻止我的填充被移除的选项在哪里?

3 个答案:

答案 0 :(得分:71)

对于R#7,我可以通过转到 1

来改变它
  

ReSharper |选项|代码编辑| C#|格式化样式|空间

和切换

  

其他|在单行初始化程序括号中

其中的例子是

int[] x = new int[] {0, 1, 2};

int[] x = new int[] { 0, 1, 2 };

虽然示例是数组初始化,但它似乎也可以控制对象初始化。


1 在R#5中,“代码编辑”是“语言”。

答案 1 :(得分:1)

如果您使用的是.editorconfig文件,则可以通过添加以下内容来控制此行为:

space_within_single_line_array_initializer_braces = true

另请参阅 在受支持的.editorconfig条目上的the official resharper documentation。这些通常可以让您自定义所有可以从所有Jetbrains IDE的格式样式菜单中自定义的内容。

答案 2 :(得分:0)

在Resharper 2019.1上

ReSharper | Options | Code Editing | C# | Formatting Style | Spaces

并根据自己的喜好进行调整:

Preserve Existing Formatting | Extra spaces inside

此外,请确保使用以下命令快捷方式:

ReSharper.ReSharper_ReformatCode,而不是这个Edit.FormatDocument