ReSharper 2019.1ヘルプ

コードの構文スタイル: 名前空間のインポート

それぞれのソースコードファイルには、適切な名前空間インポートセット(C#のusing ディレクティブ)が必要です。インポートがない場合、コードはコンパイルされず、使用されていないインポートがあると、時間の経過とともにコードを維持するのが難しくなります。さらに、名前空間のインポートにはさまざまなアプローチがあります。たとえば、using ディレクティブを追加したり、完全修飾型名を使用したりすることができます。using ディレクティブをファイルの上または名前空間内に配置できます。

ReSharperには、好みに応じて名前空間のインポートのすべての側面を制御し、自動的に更新するのに役立ついくつかの機能が用意されています。

名前空間のインポート設定の構成

名前空間インポートの設定は、レイヤーベースの設定のメカニズムを使用して保存されます。とりわけ、このメカニズムにより、さまざまなソリューションのさまざまな設定を維持したり、これらの設定をVCSに保持したり、チームメンバーと自動的に共有することができます。

名前空間のインポート設定を構成するには

  1. ReSharperオプションのコード編集 | C# | 名前空間のインポートページを開きます。

  2. このオプションページでは、決して削除する必要がない名前空間や、常にインポートする名前空間を指定できます。

  3. ReSharperオプションのコード編集 | C# | コード・スタイルページを開きます。

  4. 名前空間のインポートスタイルを微調整するには、参照資格グループのオプションを使用します。

  5. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

欠落している名前空間のインポート

ReSharperを使用すると、名前空間のインポートが不足しているシンボルを検出し、適切なインポートを自動的に追加できます。未解決のシンボルはエディターですぐに強調表示され、対応する修正が提案されます。

Namespace import quick-fix
ファイルに未解決のシンボルがいくつかある場合、修正プログラムはすべてのシンボルのインポートを追加します。インポートは、名前空間インポートの設定されたプリファレンスに従って追加されます。詳細は、不足している名前空間のインポートを参照してください。

冗長な名前空間のインポートの削除と既存の名前空間の最適化

ネームスペースシンボルの使用を削除すると、インポートされたネームスペースはコード内で冗長になります。ReSharperがないと、すべてのファイルの先頭にスクロールし、未使用のネームスペースインポートディレクティブを見つけて削除する必要があります。ReSharperを使用すると、ファイル、プロジェクト、またはソリューションから未使用のネームスペースインポートディレクティブを自動的に削除できます。余分な名前空間のインポートを削除する以外に、ReSharperはあなたの名前空間のインポート設定に従っていくつかの方法で最適化することができます。

すべての冗長な名前空間のインポートがされて強調表示エディターと対応クイックフィックスを含めて提案されている範囲での修正

Unused namespace import quick-fix
提案された修正を適用することで、冗長な名前空間を必要な範囲で即座に削除することができます。

バルクモードで冗長な名前空間のインポートを削除するもう1つの方法は、コードクリーンアップです。デフォルトのプロファイルデフォルト: フルクリーンアップコードクリーンアップを実行するか、後述のように特定のタスクのみを対象とするカスタムプロファイルでクリーンアップを実行することができます。

クイックフィックスとは対照的に、コードのクリーンアップは、未使用のインポートを削除するだけでなく、既存のインポートを最適化して最適化します。例:コードクリーンアップを使用すると、完全修飾型の名前を、対応する名前空間のインポートを追加してプレーン型の名前に置き換えることができます。

コードクリーンアップを使用して名前空間のインポートを最適化するには

  1. メインメニューでReSharper | オプションを選択します。

  2. コードクリーンアップの設定ページコード編集 | コードのクリーンアップに移動します。

  3. 新しいカスタムクリーンアッププロファイルを作成するにはセクションの説明に従って、新しいプロファイルを作成します: 新しいプロファイルの選択したプロファイル設定
    • 'using' ディレクティブを最適化するを選択します。

    • オプションで、未使用の using ディレクティブをリージョンに含めるには、領域で 'using' ディレクティブを利用するを選択して、領域名フィールドにリージョンの名前を指定します。

  4. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

  5. 名前空間のインポートを最適化するスコープを選択します。
    • キャレットをファイルの任意の場所に設定すると、名前空間のファイルへのインポートが最適化されます。

    • ソリューション・エクスプローラーの1つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルの名前空間インポートを最適化します。

  6. 以下のいずれか 1 つを実行します:
    • Ctrl+Alt+F を押すか、メインメニューからReSharper | 編集 | コードのクリーンアップを選択してください。

    • テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューでコードのクリーンアップを選択します。

  7. 開いているコードクリーンアップダイアログで、新しく作成したプロファイルを選択します。

  8. 実行をクリックします。ReSharperは、選択したスコープ内の名前空間のインポートを最適化します。

コードクリーンアップダイアログを開かずに名前空間のインポートを最適化する場合は、作成したプロファイルをサイレントクリーンアップにバインドし、Ctrl+Shift+Alt+Fを押すだけで実行できます。最適化する名前空間のインポートと他のコードスタイルのタスクを組み合わせるカスタムクリーンアッププロファイルを作成することもできます。

この機能は、次の言語とテクノロジでサポートされています。

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is availableFeature is availableFeature is not availableFeature is not availableFeature is availableFeature is availableFeature is not availableFeature is availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not available

C#の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語別ReSharperの対応するトピックを参照してください。

最終更新日: 2019年6月7日

関連事項

関連ページ:

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

設計時にコード問題を検出

ReSharperは、エディターでコード・ファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターで強調表示されます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、...

不足している名前空間のインポート

ファイルに名前空間がインポートされていない型を使用する場合、ReSharperはこれらの型を見つけて不足している名前空間インポートディレクティブを追加できます。たとえば、ファイルにコードのブロックを貼り付けた後など、未解決の型にいくつかの不足している名前空間がある場合、ReSharperはこれらすべ...

コードインスペクションの設定

コード注釈を使用して、ReSharperがコードをインスペクションする方法をカスタマイズすることもできます。デザインタイムコードインスペクションの切り替え:デフォルトでは、ReSharperはサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、...

コードの問題のクイックフィックス

ReSharperを使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。強調表示されたコードの問題で を押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。このトピックの内容:クイックフィックスの適用、Visual Stud...

スコープの修正

ほとんどのクイック・フィックスは現在の問題をキャレットで修正することができますが、その一部(例:未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)は、現在のファイル、現在のプロジェクト、またはソリューション全体「Fix in scope」と同様に、より広い範...