C# のステートメントに関しては(名前空間をインポートするディレクティブusing
と混同しないでください)、中かっこが使用されていない場合、Visual Studio は後続の単一行コードをインデントしません。これは、この SO questionに示されているステートメントを使用した「ネスト」の典型です。using
using
ステートメントの書式設定とは異なり、その後のステートメントがインデントされていないのは混乱を招きますif
。
// non-indented using statement
using (var myResource = new SomeIDisposableResource())
myResource.Indent(false);
// indented if statement
if (something == true)
IndentMe();
インデントしない理由はありますか、それとも単なる好みですか?
// indented using statement, but not the default VS formatting
using (var myResource = new SomeIDisposableResource())
myResource.Indent();
編集:
さらにテストを行った結果、VS の書式設定動作の一部について、私が間違っていたことが明らかになりました。using ステートメントを入力した場合:
using (var myResource = SomeIDisposableResource())
...Enter キーを押すと、カーソルが に揃いますusing
。次の行も using ステートメントである場合は、引き続き整列されます。そうでない場合、VS は完了時にインデントします。したがって、私の最初の例は、デフォルトのフォーマットをオーバーライドするか、それを行わない IDE を使用しない限り、実際には達成できないため、最初の質問はやや無効です。
それでも、複数のusing
ステートメントは技術的には 1 つのブロックとして扱うのが最善であることを知っておく価値があります。using
インデントの欠如は、ステートメントが中かっこのない連続したステートメントである場合にのみ適用されます。そして慣れてくると、あまり変わっていないように見えなくなります。
いつものように、これらのマイナーなプログラミングの詳細でさえも洞察と経験に答えてくれたすべての人に感謝します.