Get correct indentation in Resharper for object and array initializers

馋奶兔 提交于 2019-12-20 09:09:56

问题


Right now resharper formats our code like this:

private readonly List<Folder> folders = new List<Folder>
                                        {
                                            new Folder()
                                        };

but I want it to look like this:

private readonly List<Folder> folders = new List<Folder>
{
    new Folder()
};

I've been messing with the options a lot, but can't seem to get them right. Can you help?


回答1:


I had the same issue with anonymous delegates. The fix for anonymous delegate formatting is here:

I did finally find the way to fix this. The options for formatting anonymous methods are spread across two separate pages in ReSharper options: Braces Layout and Other. The “don’t indent a ridiculous amount” is on the Other page, and it’s called “Indent anonymous method body”. Turn it off, and set the brace option to “At end of line”, and you get something much nicer:

But i'm not sure about the instance declaration collection formatting i'm afraid. :(




回答2:


I just had a fight with this today. Go to ReSharper\Options\Languages\C#\Formatting Style\Other

Scroll to the bottom of the list and uncheck "Indent array, object, and collection initializer block"

That did the trick for me.




回答3:


I also had to uncheck ReSharper\Options\Languages\C#\Formatting Style\Other --> Align Multiline Constructs and uncheck "Array, object and collection initializer" along with the other answers provided here.




回答4:


For R# 8 there is a setting exactly for this purpose in Options -> Code Editing -> C# -> Formatting Style -> Braces Layout -> Array and object initializer.

"At the next line (BSD style)" is the one which this thread asks for.



来源:https://stackoverflow.com/questions/519755/get-correct-indentation-in-resharper-for-object-and-array-initializers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!