防止ReSharper对特定代码块进行格式化

28

有没有办法防止 ReSharper 格式化文件中特定的代码块?类似于:

void MyMethod ()
{
    // ReSharper disable formatting
    PRE     =   { my top format }   /* no rules */   ;
    // ReSharper enable formatting
}

这个回答解决了你的问题吗?有没有办法让ReSharper不格式化代码区域 - SWdV
2个回答

41

现在在2017.3版本中可以像这样使用注释配置格式化程序。

// @formatter:off — disable formatter after this line
// @formatter:on — enable formatter after this line

我应该把它放在哪里?我有一个带有dapper代码的文件,其中混合了sql-source和使用它的函数。我不想让R#清理移动所有的sql字符串到文件顶部。尝试在文件早期放置“// @formatter:off - 在此行之后禁用格式化程序”,但没有任何区别。代码清理重新排列了一切。 - mattias
1
@Jess Ctrl+K, D 是 Visual Studio 的格式化工具。上述内容仅适用于 Resharper。 - Iain Holder
很遗憾,在XML文件(我的情况是XSLT)上无法工作,尽管根据https://www.jetbrains.com/help/resharper/Enforcing_Code_Formatting_Rules.html#using-comments-to-configure-formatter支持HTML。 - Marcel
3
链接已过期,当前链接(截至2022年)为使用注释配置格式化程序。请更新链接。 - Reyhn
@Reyhn 谢谢,我已经更新了链接。 - Timur Lemeshko
显示剩余2条评论

8

目前还不支持此功能。请查看特性请求RSRP-187963

作为一种解决方法,如果您有一大块“预格式化”的代码,可以将其移动到自己的(部分类)文件中,并将其添加到“生成的代码”配置列表中。这将禁用R#的“代码清理”功能。请注意,它也会禁用检查!(不幸的是,“生成的代码区域”功能仅禁用了检查,而不是“代码清理”区域,截至R#版本9.2。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接