有没有办法强制resharper以特定方式对齐链式方法调用

时间:2013-07-09 19:59:21

标签: visual-studio coding-style resharper

假设我在C#中有以下代码

        var stringList = GetListOfStrings();
        var firstString = stringList.Where(s => true)
                                    .Where(s => true)
                                    .Where(s => true)
                                    .FirstOrDefault();

它没有做太多,但它的格式是我喜欢的ReSharper和Resharpers Code Cleanup功能。

现在假设我重写该代码只是调用方法GetListOfStrings而不先将其分配给变量。在这种情况下,Resharper将其格式化如下:

            var firstString = GetListOfStrings()
                .Where(s => true)
                .Where(s => true)
                .Where(s => true)
                .FirstOrDefault();

有没有改变这个,所以ReSharper将其格式化为如下?

            var firstString = GetListOfStrings().Where(s => true)
                                                .Where(s => true)
                                                .Where(s => true)
                                                .FirstOrDefault();

如果它有任何区别,我正在使用ReSharper 8 Beta和VS 2013预览版。

2 个答案:

答案 0 :(得分:6)

我认为您正在寻找“Align Multiline Constructs”标题下的“Chained Method Calls”选项:

enter image description here

答案 1 :(得分:6)

使用Resharper,您可以使用以下选项:

Code Editing - > C# - > Formatting Style - > Line Breaks and Wrapping - > Line Wrapping - > Wrap chained method calls至{ {1}}

启用Chop always - &gt; Code Editing - &gt; C# - &gt; Formatting Style - &gt; Other - &gt; Align Multiline Constructs < / p>