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#]、[詳細]