有没有办法标记代码以告诉 ReSharper 不要格式化它?

问题描述 投票:0回答:4

我经常使用 ReSharper“清理代码”命令将代码格式化为我们的编码风格,然后再将其签入源代码管理。一般来说,这工作得很好,但有些代码最好手动格式化(例如,由于 ReSharper 中的缩进规则,链式 linq 方法或多行三元运算符之类的东西有一个奇怪的缩进,将它们推到右侧)。

有没有办法标记文件的某些部分,以告诉 ReSharper 不要格式化该区域?我希望有某种类似于 ReSharper 如何抑制其他警告/功能的标记。如果没有,是否有某种方法可以更改设置组合以使 ReSharper 正确格式化缩进?

编辑:

我发现 ReSharper 论坛上的 this 帖子说生成的代码部分(如 ReSharper 选项页面中定义)在代码清理中被忽略。不过尝试过之后,它似乎并没有被忽视。

c# code-formatting resharper-4.5
4个回答
21
投票

Resharper>选项>语言>C#>格式样式>其他>

取消选中“缩进匿名方法体”和“缩进数组、对象和集合初始化块”以及任何其他你喜欢的东西。


3
投票

作为最后的手段,如果您不想格式化旧代码,但希望对类进行良好格式化,则使类部分化并将新代码放入新文件中。


2
投票

看看我问的这个问题涉及同样的问题:Resharper 将代码格式化为单行

我得到的答案对我来说非常有用。


0
投票

很晚了,但显然有is有一种方法可以根据https://www.jetbrains.com/help/resharper/Configure_Code_Formatting_Rules.html#using-comments-to-configure-formatter来做到这一点:包装所需的

部分
// @formatter: off

...

// @formatter: on

请注意,空格似乎很重要,没有它,里面的代码仍然会重新格式化。

© www.soinside.com 2019 - 2024. All rights reserved.