2012-03-07 8 views
0

が典型的な例である:前にコメントのインデントを修正する} else {Visual Studioで?ここで

// Testing expression 
if (expression) { 

    method(); 

    // All other options 
} else { 

    otherMethod(); 

} 

秒コメントがあり、私はそれはそれは最初のブロックのために意図されていると仮定してVisual Studioのエディタで集計(あまりにも単純に)誤って、信じています。

現在のところ、インデントはSmartに設定されています。ブロックに設定すると、コードが新しいペアの括弧内に含まれている場合、リストラ(自動インデント)は許可されません。

ブロックの最後のコメントが次のブロックに従ってインデントされるように、この動作をどのように修正できますか?

+0

余分なタブを削除しますか?ところで - 私には間違って見えません。コメントは 'else'のすぐ上から始まります。 – Oded

+3

コメントは前のコードブロックにあると考えています。これは 'if'の中括弧の中にあるためです。 IMO、それはあなたがC#標準コードスタイルを使用することを前提としているので正しく動作しています。 –

+1

あなたはそれが間違ってタブ付きであることを意味しますか?それは 'method()'と同じタブの距離です –

答えて

0

あなたは範囲内であるかどうかを理解する必要があります。角括弧内のすべてが同じスコープで同じインデントレベルを持ちます。 IEはエディタが行っていることを正確に行っています。コメントに同じレベルの字下げを付ける場合は、同じ範囲内にあるようにします。ここでは、同じスコープを共有しているため、コメントのインデントレベルがelseと同じになる例を示します。コードで使用されているより標準的な書式に従うように括弧の配置を変更しました。

 
     //First option: 
     if (expression) 
     { 
     method(); 
     } 
     // All other options (This is the same scope as if above and else below) 
     else 
     { 
     otherMethod(); 
     } 
関連する問題