8

在我的 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 之外)可以做到这一点?

4

1 回答 1

10

没有办法告诉 R# 不清理代码的一部分,并且 IMO 你不想用 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# 不会重新格式化这些块。

于 2013-08-16T14:53:00.467 回答