【问题标题】:How to fix ReSharper indentation on object & other initializers如何修复对象和其他初始化程序上的 ReSharper 缩进
【发布时间】:2013-12-13 08:01:05
【问题描述】:

我找到了这个问题的其他重复项,但它们很旧,解决方案不适用于 R#8,因为设置已更改。

当我进行匿名类型或对象初始化(任何类型的带有内容的大括号缩进)时,我希望它是 BSD 风格:

var test = new CustomType
{
    Prop1 = value1,
    Prop2 = value2,
};

...我将 R# 选项/代码编辑/C#/格式化样式/大括号布局/数组和对象初始化程序设置为“在下一行(BSD 样式)”。但是,当我在添加一个新的大括号后按 Enter 键时,我仍然会得到这样的结果:

var test = new CustomType
           {
               Prop1 = value1,
               Prop2 = value2,
           };

...我认为这是 Whitesmiths 风格。

我需要做什么才能让 R# 8 不为初始化程序缩进大括号?

【问题讨论】:

    标签: c# resharper code-formatting curly-braces resharper-8.0


    【解决方案1】:

    有两个设置共同控制这一点:

    • 数组、对象和集合初始值设定项:false

    • 数组和对象初始化器:BSD 风格

    来自 OP 的更新

    可能必须为“这台电脑”设置这些设置,而不仅仅是个人或团队共享选项。

    【讨论】:

    • 这些是我的设置,但它们是在团队共享和个人设置中设置的。原来我还需要为“这台电脑”更改它。这是可以预期的吗?我认为团队共享应该覆盖计算机设置?
    • 某些设置在默认设置下,Resharper 未检测到已覆盖,您可能已被该“错误”捕获。在大多数情况下,最具体的设置胜出(解决方案、团队、个人),但这完全取决于“管理设置”下的设置文件的顺序
    • 你知道我从来不知道有这些订单。我现在看到了,但我的上移和下移按钮已被禁用。
    【解决方案2】:

    就我而言,我按照接受的答案中的说明进行操作,但 ReSharper 仍未按照我预期的方式(或答案所说的方式)格式化对象初始化器。经过大量实验后,我发现 StyleCop 扩展中的设置驱动了格式设置,而不是团队共享设置文件中的设置。我必须禁用 StyleCop 扩展设置层,才能实现所需的格式。

    这是 ReSharper --> 管理选项 菜单的屏幕截图:

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      相关资源
      最近更新 更多