如何修复对象和其他初始化程序上的 ReSharper 缩进

Posted

技术标签:

【中文标题】如何修复对象和其他初始化程序上的 ReSharper 缩进【英文标题】:How to fix ReSharper indentation on object & other initializers 【发布时间】: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 不为初始化程序缩进大括号?

【问题讨论】:

【参考方案1】:

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

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

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

来自 OP 的更新

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

【讨论】:

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

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

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

【讨论】:

以上是关于如何修复对象和其他初始化程序上的 ReSharper 缩进的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在本地运行时如何修复 PHP 上的重定向错误

Service Fabric - 如何修复失败的有状态应用程序

如何修复 Bootstrap 使其不会弄乱登录表单和页脚?

修复 Ember 1.12.0 中的初始化程序弃用问题

如何使用打字稿和情感修复 Box 组件上的“属性“颜色”类型不兼容”

如何修复 Android Studio / SQLite 中的“空对象引用”错误? [复制]