コードの構文スタイル: 名前空間のインポート
各ソースコードファイルには、適切な名前空間インポート(C# の using ディレクティブ)が含まれている必要があります。 インポートが不足している場合、コードはコンパイルされません。未使用のインポートがあると、コードの保守が徐々に難しくなる可能性があります。 さらに、名前空間のインポートにはさまざまな方法があります。例えば、 using ディレクティブを追加する、完全修飾型名を使用する、 using ディレクティブをファイルの先頭や名前空間内に配置する、などの方法です。
ReSharper は、名前空間インポートのあらゆる側面を環境設定に従って制御し、自動的に更新するための多くの機能を提供します。
名前空間のインポート設定を構成する
名前空間インポートの設定は、 レイヤーベースの設定のメカニズムを使用して保存されます。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
このオプションページでは、決して削除する必要がない名前空間や、常にインポートする名前空間を指定できます。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
参照修飾および 'using' ディレクティブ グループの設定を使用して、ネームスペースのインポートスタイルを微調整します。
完全修飾参照を推奨する — インポートされたタイプに名前空間インポートディレクティブではなく完全修飾名を使用する場合は、このチェックボックスを選択します。
最も深いスコープに using ディレクティブを追加する — このチェックボックスが選択されている場合、名前空間のインポートディレクティブはその型が使用される名前空間の中に追加されます。未選択の場合は、ファイルの先頭にインポートディレクティブが追加されます。
'using' ディレクティブをソートする際に 'System.*' および 'Windows.*' の名前空間を最初に配置する。 — このチェックボックスを選択すると、
using System.Linq;などの 'using' ディレクティブは、ソート時に他の using ディレクティブの上に配置されます。 それ以外の場合、これらのディレクティブは他のディレクティブとアルファベット順にソートされます。ネストしたスコープでは完全修飾の using 名を推奨する。 — このチェックボックスが選択されている場合、インポートされた型の完全修飾名がネストされた型と名前空間で優先されます。
エイリアスディレクティブの使用を許可 — このチェックボックスを選択すると、完全修飾名前空間名ではなく、名前空間インポートディレクティブでエイリアスを使用できます。
'global ::' 接頭辞を許可する — このチェックボックスが選択されている場合、
global::接頭辞はglobal::System.Stringと同様に削除されません。 詳細については、「:: オペレーター - 名前空間のエイリアス演算子 」を参照してください。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
欠落している名前空間をインポートする
ReSharper を使えば、名前空間のインポートが不足しているシンボルを検出し、適切なインポートを自動で追加できます。 未解決のシンボルはエディターですぐに ハイライトされ、対応する修正が提案されます。

ファイル内に未解決のシンボルがいくつかある場合、修正によりそれらすべてのインポートが追加されます。 インポートは、 名前空間インポートの設定に従って追加されます。 詳細については、 欠落している名前空間をインポートする を参照してください。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。
冗長な名前空間のインポートを削除し、既存のものを最適化する
ネームスペースシンボルの使用を削除すると、インポートされたネームスペースはコード内で冗長になります。 ReSharper がない場合は、すべてのファイルの先頭までスクロールし、未使用の名前空間インポートディレクティブを見つけて削除する必要があります。 ReSharper を使用すると、ファイル、プロジェクト、ソリューションから未使用の名前空間インポートディレクティブを自動的に削除できます。 冗長な名前空間インポートの削除に加えて、ReSharper は 名前空間インポートの環境設定に従って、それらをさまざまな方法で最適化できます。
冗長な名前空間のインポートはすべて エディターでハイライトされ、対応する クイックフィックスが スコープ内の修正を含めて提案されます。

提案された修正を適用することで、冗長な名前空間を必要な範囲で即座に削除することができます。
バルクモードで冗長な名前空間インポートを削除する別のオプションは、 コードのクリーンアップです。 ビルトイン: フルクリーンアッププロファイルで コードのクリーンアップを実行するか、以下に記載の通り、特定のタスク専用の カスタムプロファイルを作成して実行できます。
クイックフィックスとは対照的に、コードのクリーンアップは、未使用のインポートを削除するだけでなく、既存のインポートを最適化して最適化します。 例: コードクリーンアップを使用すると、完全修飾型の名前を、対応する名前空間のインポートを追加してプレーン型の名前に置き換えることができます。
コードクリーンアップを使用して名前空間のインポートを最適化する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
新しいカスタムクリーンアッププロファイルを作成する セクションの説明に従って、新しいプロファイルを作成します。 右側のプロファイル設定で、 ノードを展開します。
'using' ディレクティブを最適化する。 を選択します。
オプションで、領域に
usingディレクティブを含めるには、 領域で 'using' ディレクティブを活用する。 を選択し、 領域名 フィールドに領域の名前を指定します。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
名前空間のインポートを最適化するスコープを選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルへの名前空間のインポートを最適化します。
ソリューションエクスプローラー の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルの名前空間インポートを最適化します。
次のいずれかを実行します。
Control+Alt+F を押すか、メインメニューから を選択してください。
テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。
表示された コードのクリーンアップ ダイアログで、新しく作成したプロファイルを選択します。
実行 をクリックします。 ReSharper は、選択したスコープ内の名前空間インポートを最適化します。
コードのクリーンアップ ダイアログを開いてプロファイルを選択せずに名前空間インポートを最適化したい場合は、作成したプロファイルを サイレントクリーンアップにバインドし、 Control+Shift+Alt+F を押して実行できます。 名前空間インポートの最適化と他のコードスタイルタスクを組み合わせた カスタムクリーンアッププロファイルを作成することもできます。
名前空間インポートの環境設定を、他のすべての フォーマットおよび 構文スタイルルールとともに選択したコードブロックに適用するには、 Alt+Enter を押して を選択します。
変更をファイルに保存するたびに名前空間のインポートを最適化して、編集内容が常にコードスタイルに準拠するようにすることができます。
変更を保存するときに名前空間のインポートを自動的に最適化する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
デフォルトに設定する を選択してクリックします(デフォルトのプロファイルは サイレントクリーンアップにも使用されます)。
オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。
オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。
ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。
部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。
共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。
ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
次回編集を終了してファイル( Ctrl+S )またはすべてのファイル( Ctrl+Shift+S )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。