【问题标题】:Resharper fluent interface code formatting (align to the dot)Resharper 流利的界面代码格式(对齐点)
【发布时间】:2012-07-19 10:57:34
【问题描述】:

我阅读了很多关于流畅缩进格式选项的答案。 (Resharper formatting code into a single lineReSharper fluent indentationhttp://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 自动格式化以使用此样式?

【问题讨论】:

  • 我想这现在是不可能的。但我们正在努力,我希望这将在 7.1-8.0 的某个时候完成。
  • 感谢您的回答。很好。 Resharper 是一个神奇的工具,如果没有这个选项,它会很有用。
  • 我个人避免这种风格,因为重命名变量会导致后续行再次错位。相反,我将第一个 . 放在一个新行上,并像往常一样将每一行缩进一个制表位。
  • 有一个运行良好的代码对齐插件。 stackoverflow.com/a/20427618/492

标签: c# resharper code-formatting resharper-6.0


【解决方案1】:

我在选项 -> 代码编辑 -> C# -> 格式化样式中使用 R# 中的下一个设置:

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

制表符、缩进、对齐 -> 对齐多个结构部分 -> 链式方法调用检查

结果:

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

【讨论】:

    【解决方案2】:

    不幸的是,Resharper 目前似乎无法做到这一点,它是 an issue that's been flagged for quite some time.

    作为一种可能可接受的折衷方案,为了尽量减少 Resharper 撤消现有流畅调用格式的痛苦,您可以在“格式样式”->“换行和换行”下的 Resharper 选项中选择“保留现有换行符”- > “保留现有格式”。

    【讨论】:

    • 空格有类似的选项吗?如果我想让我的变量声明显示为 var thing - - - - - = "hello" 以进行对齐,我该如何阻止 Resharper 撤消它?
    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 2011-03-04
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    相关资源
    最近更新 更多