2013-08-16 11 views
8

私のC#開発チームでは、コードフォーマットを統一するために、コーディング標準を尊重するために自動フォーマットルールを共有したいと考えています。私は実際にReSharperをテストしています。それは素晴らしいことですが、私たちの基準には私が周りを回っているようには見えない1つのルールがあります。特定のコードブロックでResharperの自動フォーマットを無効にする

HTMLをレンダリングするのにHTMLTextWriterを使用しますが、マークアップの出力方法を反映するために呼び出しをインデントするルールがあります。例えば

:今のところ

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に加えて他のツールがありますか?

+0

この質問を確認する:http://stackoverflow.com/questions/3214894/is-there-a-resharper-comment-directive-to-disable-code-cleanup-for-a-class – rpeshkov

答えて

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#はこれらのブロックを再フォーマットしません。

関連する問題