else
C#を使用するVisual Studioでは(これは2010年と2012年の両方で発生します)、ステートメントの前に新しい行を入力すると、奇妙な自動インデントが発生します。
if (condition1)
{
DoSomething();
} // press Enter here, after the brace
// auto indents to here
// Helpful comment here about condition2, but awkwardly auto-indented
else if (condition2)
{
DoSomethingElse();
}
if
直感的には、 /と同じ列にのみ自動インデントすることを期待しますelse
が、代わりに1インデントレベルさらに進みます。
とにかく、これら2つのブロックの間に他のコードを入れることは違法だと思いますが、それでもコメントを入れたいと思います。なぜこれが起こるのか、それを修正する方法を誰かが知っていますか?else
ブロックにコメントしようとするたびにバックスペースを4回ヒットしなければならないのは、非常に奇妙で面倒です。
誰かが「else
/if
ブロック内にコメントを入れるだけ」と言うことは知っていますが、この現象の実際の説明/解決策に興味があります。さらに、 2行前に発生したコードを説明するコメントを付けることは私には意味がありません。
また、誰かが「コメントをelse
/if
ブロックと同じ行に置くだけ」と言うことも知っていますが、コメントとコードを同じ行に置くのは私には厄介なようです。