如何修复对象和其他初始化程序上的 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 缩进的主要内容,如果未能解决你的问题,请参考以下文章
Service Fabric - 如何修复失败的有状态应用程序