Resharper流畅接口代码格式化(按点对齐)

10

我阅读了关于流畅缩进格式选项的很多答案。 (Resharper将代码格式化为单行ReSharper流畅缩进http://youtrack.jetbrains.com/issue/RSRP-88220)。

mockCrypto.Expect(c => c.Hash("authenticationHashSalt", "ignoring arguments"))
   .IgnoreArguments()
   .Return("hashed");

但我没有找到有关如何像这样格式化代码的信息:

kernel.Bind<ICameraController>()
      .To<NikonCameraController>()
      .NamedLikeFactoryMethod((ICameraFactory f) => f.GetNikonCamera());

mock.Setup(framework => framework.DownloadExists("2.0.0.0"))
    .Returns(true)
    .AtMostOnce(); // (it's from moq QuickStart)

但这种风格非常普遍,我经常在框架的文档中看到它。 如何设置Resharper自动格式化以使用这种风格?


4
我猜现在这不可能。但我们正在努力,希望在7.1-8.0期间能够完成。 - Dmitry Osinovskiy
谢谢你的回答。很好。Resharper是一个神奇的工具,如果没有这个选项,它也会很有用。 - Dvor_nik
我个人避免使用这种样式,因为重新命名变量会导致随后的代码行再次错位。相反,我将第一个“.”放在新行上,并像通常一样缩进每一行一个制表符。 - Michael Liu
1
有一个代码对齐插件很好用。https://dev59.com/3HM_5IYBdhLWcg3wp06l#20427618 - CAD bloke
2个回答

3
我在选项-R#中使用以下设置-&gt;代码编辑 -> C# -&gt;格式化样式:

换行和换行 -&gt; 成员访问表达式的排列部分 -&gt; 包装链接方法调用 == 总是切断

制表符,缩进,对齐 -&gt; 对齐多个结构部分 -&gt;选择链接方法调用

结果:

enter image description here

基于https://blog.jetbrains.com/dotnet/2012/11/12/code-formatting-improvements-in-resharper-71/。链式方法调用的路径在7.1版本和R# 2018之间的某个版本中被更改了。

1

不幸的是,Resharper目前似乎无法做到这一点,这是一个被标记了相当长时间的问题。

作为可能可接受的权衡,为了最小化Resharper撤消现有流畅调用格式的痛苦,您可以在Resharper选项中选择“保留现有换行符” 在“格式化样式”下 ->“换行和包装” ->“保留现有格式”。


2
有没有类似的选项适用于空格?如果我想让我的变量声明显示为 var thing - - - - - = "hello" 以进行对齐,我该如何防止 Resharper 撤销它? - Robin Winslow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接