C# 禁用某些代码块周围的Resharper自动格式化

C# 禁用某些代码块周围的Resharper自动格式化,c#,resharper,autoformatting,reformatting,C#,Resharper,Autoformatting,Reformatting,在我的C#开发团队中,我们希望共享自动格式化规则,以尊重我们的编码标准,实现统一的代码格式化。我正在测试ReSharper,这很好,但我们的标准中有一条规则我似乎无法绕开 我们使用HTMLTextWriter来呈现一些HTML,但是我们有一个规则来缩进调用,以反映如何输出它们的标记 例如: protected override void RenderBody(HtmlTextWriter writer) { writer.AddAttribute("class", "mystyle");

在我的C#开发团队中,我们希望共享自动格式化规则,以尊重我们的编码标准,实现统一的代码格式化。我正在测试ReSharper,这很好,但我们的标准中有一条规则我似乎无法绕开

我们使用
HTMLTextWriter
来呈现一些HTML,但是我们有一个规则来缩进调用,以反映如何输出它们的标记

例如:

protected override void RenderBody(HtmlTextWriter writer)
{
    writer.AddAttribute("class", "mystyle");
    writer.RenderBeginTag("div");
        writer.AddAttribute("class", "mystyle2");
        writer.RenderBeginTag("div");
            writer.Write("HELLO WORLD");
        writer.RenderEndTag();
    writer.RenderEndTag();
}
现在,当我使用ReSharper(或VS)重新格式化代码时,标识被删除

是否有方法添加自定义规则以防止/禁用围绕
.RenderBeginTag
函数调用重新格式化?或者有没有其他工具(除了ReSharper或ReSharper之外)可以做到这一点?

没有办法告诉R#不要清理代码的一部分,我想你不想用特定于R#的标记污染你的代码。解决方法是将函数调用缩进括号中,如下所示:

 private void RenderBody(HtmlTextWriter writer)
 {
     writer.AddAttribute("class", "mystyle");
     writer.RenderBeginTag("div");
     {
         writer.AddAttribute("class", "mystyle2");
         writer.RenderBeginTag("div");
         {
             writer.Write("HELLO WORLD");
         }
         writer.RenderEndTag();
     }
     writer.RenderEndTag();
 }
R#不会重新格式化这些块。

检查此问题: