2

elseC#を使用する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ブロックと同じ行に置くだけ」と言うことも知っていますが、コメントとコードを同じ行に置くのは私には厄介なようです。

4

1 に答える 1

2

VisualStudio2012でこれを試しました。

確かに、コメントを書くとき、それは正しくインデントされていないようです。

しかし、CTRL+ ECTRL+を押すDと、すべてが自動的に正しくインデントされます(私の意見では):

        if (condition)
        {

        }
        // comment line
        // another one
        else if (condition)
        {

        }
于 2012-10-05T21:03:13.073 に答える