【问题标题】:Is there any way to force resharper to align chained method calls in a specific way有什么方法可以强制 resharper 以特定方式对齐链式方法调用
【发布时间】:2013-07-07 13:59:37
【问题描述】:

假设我在 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 预览版。

【问题讨论】:

标签: visual-studio coding-style resharper


【解决方案1】:

我认为您正在这里寻找“对齐多行构造”标题下的“链式方法调用”选项:

【讨论】:

  • 对于 ReSharper 2017.3,可以在“制表符、缩进、对齐”下找到“对齐多行结构”部分以及“链式方法调用”设置。
【解决方案2】:

借助 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

【讨论】:

  • 对于 ReSharper 2017.3,可以在“制表符、缩进、对齐”下找到“对齐多行结构”部分以及“链式方法调用”设置。
猜你喜欢
  • 2021-10-27
  • 1970-01-01
  • 2021-09-23
  • 2010-10-27
  • 2017-02-06
  • 2015-01-28
  • 2013-03-05
相关资源
最近更新 更多