using の並べ替え
Visual Studio ユーザー インターフェイスの [using の並べ替え] オプションを使用すると、using ディレクティブ、using エイリアス、および extern エイリアスを次の順序でアルファベット順に整理でき、ソース コードが読みやすくなります。
extern エイリアス
using ディレクティブ
using エイリアス
[!メモ]
既定では、Visual Studio は System で始まる using ディレクティブを、他の using ディレクティブの前に並べ替えます。[using の並べ替え] を変更して、すべての using ディレクティブをアルファベット順に並べ替えることもできます。詳細については、「[オプション]、[テキスト エディター]、[C#]、[詳細]」を参照してください。
この操作を呼び出すには、次の 2 つの方法があります。
メイン メニュー - [編集] メニューの [IntelliSense] をポイントし、[using の整理] をポイントして、[using の並べ替え] をクリックします。
コンテキスト メニュー - コード エディターの中の任意の場所で右クリックし、[using の整理] をポイントして [using の並べ替え] をクリックします。
次の例は、ソース コードで [using の並べ替え] を実行した結果を示しています。
[前へ] |
[後ろへ] |
---|---|
extern alias ApressLibrary2; extern alias ApressLibrary1; using aio = apressio; using System.Collections; using Microsoft.CSharp; using System; using apressio = Apress.IO; |
extern alias ApressLibrary1; extern alias ApressLibrary2; using System; using System.Collections; using Microsoft.CSharp; using aio = apressio; using apressio = Apress.IO; |
解説
プリプロセッサ ディレクティブ
[using の並べ替え] は、ディレクティブやエイリアスがプリプロセッサ ディレクティブによって区切られているときは並べ替えを実行しません。たとえば、次のコードは並べ替えられません。
// Not sorted because preprocessor directives separate the using directives.
using System.Linq;
#region MyRegion
using System.Collections.Generic;
using System;
#endregion
using System.Collections;
ただし、次の例は並べ替えられます。
// Sorted because pre-processor directives do not separate using directives
#region MyRegion
using System.Collections;
using System;
using System.Collections.Generic;
#endregion
コメント
ディレクティブの直前の行または同じ行にあるコメントは、並べ替えの実行中、ディレクティブとグループ化されます。この動作を次の例に示します。
[前へ] |
[後ろへ] |
---|---|
// © Contoso, Ltd using apressdata = Apress.Data; using aio = apressio; using System.Collections; using System; // using System; using System.Collections.Generic; // using System.Text using System.Text; using apressio = Apress.IO; // The End |
using System; // using System; using System.Collections; using System.Collections.Generic; // using System.Text using System.Text; using aio = apressio; // © Contoso, Ltd using apressdata = Apress.Data; using apressio = Apress.IO; // The End |
上の例では、ステートメントとコメントの間に復帰がないため、コメント // © Contoso, Ltd が下の using ステートメントでグループ化されて並べ替えられます。この動作を回避するには、コメントの後に復帰を追加します。
参照
関連項目
[オプション]、[テキスト エディター]、[C#]、[詳細]