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

Jam*_*roe 5 resharper coding-style visual-studio

可以说我在C#中有以下代码

        var stringList = GetListOfStrings();
        var firstString = stringList.Where(s => true)
                                    .Where(s => true)
                                    .Where(s => true)
                                    .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

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

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

            var firstString = GetListOfStrings()
                .Where(s => true)
                .Where(s => true)
                .Where(s => true)
                .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

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

            var firstString = GetListOfStrings().Where(s => true)
                                                .Where(s => true)
                                                .Where(s => true)
                                                .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

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

jes*_*ing 8

我想你正在寻找"Align Multiline Constructs"标题下的"Chained Method Calls"选项:

在此输入图像描述

  • 对于 ReSharper 2017.3,可以在“制表符、缩进、对齐”下找到“对齐多行结构”部分和“链式方法调用”设置。 (2认同)

Pie*_*ers 7

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

Code Editing- > C#- > Formatting Style- > Line Breaks and Wrapping- > Line Wrapping- > Wrap chained method callsChop always

启用Code Editing- > C#- > Formatting Style- > Other- > Align Multiline Constructs- >Chained method calls