Question

How to stop ReSharper removing spaces in object initializer

I like my object initializers to look like this:

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

When hit the semicolon key, they get reformatted like this:

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

Where is the option to stop my padding from being removed?

 45  4791  45
1 Jan 1970

Solution

 82

For R# 7, I can get this to vary by going to1

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

and toggling

Other | Within single-line initializer braces

the example for which is

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

versus

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

Although the example is of array initialization, it also appears to control object initialization.


1In R# 5, "Code Editing" was "Languages".

2010-07-19

Solution

 7

If you are using an .editorconfig file, you can control this behaviour by adding:

space_within_single_line_array_initializer_braces = true

See also the official resharper documentation on supported .editorconfig entries. These typically let you customize everything you could customize from the formatting styles menu for all of Jetbrains' IDEs.

2020-07-11