2

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,但它会进一步缩进一级。

我意识到无论如何将其他代码放在这两个块之间是非法的,但我仍然想在那里发表评论。有谁知道为什么会发生这种情况或如何解决?else每当我尝试评论一个块时,必须按退格键 4 次,这非常奇怪和烦人。

我知道有人会说“只需将评论放在else/if块内”,但我对这种现象的实际解释/解决方案感兴趣;此外,对我来说,用评论解释两行前发生的代码是没有意义的。

我也知道有人会说“只需将注释与else/if块放在同一行”,但将注释和代码放在同一行对我来说似乎很恶心。

4

1 回答 1

2

我刚刚在 Visual Studio 2012 中尝试过:

事实上,当你写评论时,它似乎没有正确缩进。

但是在按下CTRL+ E, CTRL+之后D,一切都会自动正确缩进(在我看来):

        if (condition)
        {

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

        }
于 2012-10-05T21:03:13.073 回答