Resharper 格式化链式方法

Posted

技术标签:

【中文标题】Resharper 格式化链式方法【英文标题】:Resharper formatting chained method 【发布时间】:2013-03-05 05:13:43 【问题描述】:

R# 中是否有设置将链式方法格式化为从实例化类的相同字符开始。

我想要什么:

var foo = new FooDataBuilder()
              .WithDate(myDate)
              .WithBar(myBar)
              .Build();

R# 给了我什么:

var foo = new FooDataBuilder()
    .WithDate(myDate)
    .WithBar(myBar)
    .Build();

【问题讨论】:

不,没有这样的设置。 【参考方案1】:

使用 Resharper 7.1.2,您可以获得以下格式:

var foo = new FooDataBuilder().WithDate(myDate)
                              .WithBar(myBar)
                              .Build();

通过设置以下 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

我认为您无法与FooDataBuilder() 对齐,除非您手动进行。 (Jetbrains 的@Dmitry Osinovskiy 已经证实了这一点,因此这可能是您最接近想要的结果。)

【讨论】:

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

以上是关于Resharper 格式化链式方法的主要内容,如果未能解决你的问题,请参考以下文章

Swift16-可选链式调用

简谈 JavaScriptJava 中链式方法调用大致实现原理

Android之链式调用(方法链)

通过JavaScript中的链式方法实现JQuery的链式调用

链式调用

链式编程:泛型实现的扩展方法类