ReSharper 2018.2ヘルプ

型依存関係図の探索

ReSharper | アーキテクチャー | タイプの依存関係図の表示
ReSharper_ShowTypesDependencies

ReSharperを使用すると、タイプがソリューション内でどのように依存するかを視覚的に調べることができます。型依存関係図では、異なるプロジェクトまたはコンパイルされたアセンブリから任意の数の型を追加し、それらの間のさまざまな種類の依存関係を視覚化できます。

初期図の作成

新しい型依存関係図を作成するには、いくつかの方法があります。

  • ソリューションエクスプローラ、オブジェクトブラウザ、アーキテクチャエクスプローラ、クラスビュー、またはアセンブリエクスプローラウィンドウで1つ以上の項目を選択し、メインメニューでReSharper | アーキテクチャー | タイプの依存関係図の表示を選択し、選択項目を右クリックしてタイプの依存関係図の表示を選択するか、または Ctrl+Shift+Alt+A を押してからタイプの依存関係図の表示を選択します。
    この場合、選択した項目内で宣言されたすべてのタイプがダイアグラムに追加され、集約、使用箇所、および継承依存関係が視覚化されます。
  • エディタ内の任意の位置にキャレットを設定し、メインメニューでReSharper | アーキテクチャー | タイプの依存関係図の表示を選択するか、これを調べるコマンドを呼び出します(ReSharper | インスペクション | これを調べるを選択するか Ctrl+Shift+Alt+Aを押してください)。次にタイプの依存関係図の表示を選択します。
    この場合、ファイルのすべてのタイプがダイアグラムに追加され、集約、使用箇所、および継承依存関係が視覚化されます。
  • アーキテクチャビューで、1つまたは複数の項目を選択し、選択項目right-clickを選択し、コンテキストメニューでタイプの依存関係図の表示を選択します。
  • ベースシンボルへ移動派生シンボルに移動APIを公開するために移動するなどのコマンドの結果リストで、 Alt+Num+ を押すか、図に表示する ThemedIcon TypeLayoutAlt Screen Gray をクリックします
    ベース/派生シンボルの場合、継承階層の対応する部分がダイアグラムに追加され、継承依存関係のみが視覚化されます。公開APIの場合、ダイアグラムには、指定された型を返すメソッドと、戻り型依存関係のみを含む型が表示されます。
  • 検索結果ウィンドウまたは階層ウィンドウに表示される結果のリストについては、図に表示する ThemedIcon TypeLayoutAlt Screen Gray をクリックしてください。
    このような場合、すべての用途または階層エントリがダイアグラムに追加され、使用/継承依存関係が視覚化されます。
  • 1つまたは複数のプロジェクト参照を選択し、選択を右クリックして、図に使用箇所を表示する ThemedIcon TypeLayoutAlt Screen Gray を選択します。
    この場合、使用されているプロジェクトの参照されているアセンブリのタイプの使用箇所が表示されます。

新しく作成されたプロジェクト依存関係図が階層ウィンドウの新しいタブに表示されます。

ダイアグラムがソリューションと同期されていないことに注意してください。つまり、コード内で型の名前を変更したり削除したりすると、ダイアグラムは変更されません。ダイアグラムが最新であるかどうかを確認するには、右下隅に表示される作成時間を確認します。ツールバーのリフレッシュ・タイプの依存性 ThemedIcon Refresh Screen Gray をクリックして、ダイアグラムを再構築することもできます。

図のビューを調整する

型依存性図は、次の2つの方法でレイアウトできます。

  • Inheritance Hierarchy Layouter - this option arranges types according to their inheritance relations: the base types are moved upward.
  • Business Logic Layouter - this option arranges types according to all displayed relations between them.

これらのオプションを切り替えるには、左の対応するセレクタを使用します。

Switching layout on the type dependency diagram

ダイアグラムのレイアウトは、ダイアグラムタイプの追加または削除または依存フィルタの変更を更新するたびに自動的に更新されます。

図をパンおよびズームするには、ダイアグラム領域の左上隅にあるコントロールを使用します。または、図の項目の外の図エリアの任意の場所をクリックし、手カーソル cursor hand が表示されている間にドラッグすることもできます。ズームの場合、マウスホイールを使用することもできます。

ダイアグラムのレイアウトは自動的に計算されますが、必要に応じて変更することができます。すべてのアイテムを移動することができます。アイテム(タイプ、依存関係リンク、またはグループ化アイテム)を移動するには、まずそれをクリックして選択し、次に十字カーソル cursor cross が表示されている間にクリックしてドラッグします。

必要に応じて、次のいずれかの方法で、ダイアグラムのグループ化項目を折りたたんで展開できます。

  • グループ化項目の左上隅にある下矢印をクリックします。折りたたまれると、記号が上矢印に変わり、それをクリックすると項目が展開されます。
  • 図内のグループ化項目を選択し、 Ctrl+LeftArrowCtrl+RightArrowを押します。

図の項目の追加と削除

いつでも、表示されている図を修正して、目的のタイプのみが表示されるようにすることができます。必要に応じて、元に戻す ThemedIcon Undo Screen Gray をクリックするか Ctrl+Zを押して、ダイアグラムの変更(項目の追加/削除)を段階的に取り消すことができます。 元に戻すコマンドを逆にするには、やり直し ThemedIcon Redo Screen Gray をクリックするか、 Ctrl+Yを押します。

図からタイプとフォルダを削除するには、項目をグループ化するときに右上隅の十字を使用するか、項目が選択されているときに Delete を押します。または、保存する項目を選択して右クリックし、コンテキストメニューで選択したアイテムのみを表示するを選択します。複数選択の場合、Ctrl - 項目をクリックします。

図にアイテムを追加する方法はいくつかあります。

  • タイプ、フォルダ、およびプロジェクトをソリューションエクスプローラからダイアグラムにドラッグアンドドロップします。
  • エディタでタイプを選択し、選択したタイプをダイアグラムにドラッグアンドドロップします。
  • 参照されるすべてのタイプを検索して追加するには、タイプまたはグループ化アイテムを右クリックし、コンテキストメニューで参照されるすべての型を追加するを選択します。グループ化アイテム(フォルダまたはプロジェクト)でこのコマンドを呼び出すと、ReSharperは、現在表示されているすべてのタイプの参照されるタイプを追加します。
  • ソリューションと参照されているアセンブリからタイプを検索して名前を追加するには、検索ボックスに名前を入力します: 入力中にワイルドカード(アスタリスク '*'やキャメルハンプなど)を使用することができます:
    Adding types to the type dependency diagram

    タイプを選択し、 Enter を押すか、それをクリックしてダイアグラムに追加します。ドロップダウンで緑で強調表示されているタイプは、すでにダイアグラムに追加されています。このようなタイプを選択すると、ダイアグラムのフォーカスがそのタイプに移動します。
  • 詳細ポップアップで、関連する任意のタイプをクリックして追加するか、またはすべての使用されたタイプをダイアグラムに追加するダイアグラムにすべての用途を追加するすべての基本タイプを追加する、および直ちに継承するすべての継承を追加するリンクを使用して複数のタイプを追加します。

特定のタイプと容器の学習

ノードが折りたたまれていると、その上にマウスを置くと、内部にあるものをすぐにチェックすることができます。表示されるポップアップでは、このノード内のダイアグラムおよびこのノード内で参照されるすべてのモジュールに追加されるタイプの数を表示できます。

Studying projects and containers

必要に応じて、参照されたモジュールをクリックするか、または不足しているアイテムを追加をクリックして、このノードの他の項目をダイアグラムに追加することができます。

任意のタイプをダブルクリックしてエディタで開くことができます。型がコンパイルされたアセンブリで定義されている場合は、コンパイルされたコードにナビゲートする好きな方法に従って型が開かれます。

特定の種類(依存関係間でも同様)に関する詳細情報を取得することができます。あるタイプの詳細を取得するには、その上にマウスを置くと、詳細ポップアップが表示されたらすぐに、その上にマウスポインタを移動します。

型の詳細ポップアップでは、指定された型が使用する型、型が使用される型、継承される型、コンストラクタのパラメータでの型の使用などが表示されます。
型にXMLドキュメントがある場合は、その要約もポップアップに表示されます。

タイプをクリックしてダイアグラムに追加することができます。緑で強調表示されているタイプはすでにダイアグラムに追加されています。このようなタイプをクリックすると、ダイアグラムのフォーカスがそのタイプに移動します。上部の上隅にある宣言に移動リンクを使用すると、エディタでタイプを開くことができます。

Details of specific type on the dependency diagram

タイプ間の依存関係の学習

型依存図では、いくつかの種類の依存関係を視覚化できます。特定の種類の依存関係を表示または非表示にするには、フィルタ依存関係 ThemedIcon Filter Screen Gray セレクタの対応する項目を使用します。

  • 集約の依存関係 - 型が他の型のコレクションまたはコンテナである場合に一種の依存関係を表示し、
    この種の依存関係は、緑色の点線で示されています。対応するフィールドの名前がその行の隣に表示されます。この行の上にマウスを置くと、フィールド宣言が表示され、エディターで対応する場所に移動できます。
  • 依存関係を使用する - あるタイプの変数、パラメータ、またはメソッドリターンが別のタイプで使用されているときに、一種の依存関係を表示します。
    この種の依存関係は、相対的な使用回数を反映した青い線で示されています。この行の上にマウスを置くと、使用箇所のリストが表示されます。
    Usage dependency

    特定の用途をクリックすると、テキストエディタの対応する場所に移動し、すべての使用箇所を表示リンクをクリックすると、検索結果ウィンドウのすべての用途が開きます。
  • 継承の依存関係 - ある型が別の型を拡張または実装するときに、一種の依存関係を表示します。この種の依存関係は灰色の線で示されています。この行の上にマウスを置くと、継承関係が表示され、エディタで対応する場所に移動できます。
    推移的継承の依存関係は、破線で示されています。そのような行の上にマウスを置いて、ポップアップを使用して依存関係がどのタイプになっているかを確認し、これらのタイプをクリックしてダイアグラムに追加することができます。
    Transitive dependency
  • 戻り値の型依存性 - ある型に別の型を返すメソッドまたはプロパティがある場合に、ある種の依存関係を表示します。この種の依存関係は、紫色の線として表示されます。この行の上にマウスを置くと、メンバーのリストが表示され、エディターで対応する場所に移動できます。
  • コンストラクタインジェクション - ある型が別の型のコンストラクタパラメータとして公開されているときに、一種の依存関係を表示します。この種の依存関係は、茶色の線で示されています。この行の上にマウスを置くと、コンストラクタが表示され、エディタの対応する場所に移動できます。

図で他のReSharper機能を呼び出す

次にナビゲートメニューの項目の利用可能なすべてのナビゲーション宛先を一覧表示するには、 Ctrl+Shift+G を押すか、項目を右クリックして次にナビゲートを選択します。

項目が選択されているときに Shift+Alt+L を押すと、項目(ファイル、フォルダ、またはプロジェクト)ソリューションエクスプローラでを見つけることができます。

また、タイプの詳細ポップアップ検索結果ウィンドウにすべての使用済みタイプを表示するまたは検索結果ウィンドウにすべての使用箇所を表示する、または依存関係リンクのポップアップのすべての使用箇所を表示をクリックして、関連する使用箇所をリストすることもできます。

図のアイテムをリファクタリングする

ダイアグラム上の任意の項目から、使用可能なすべてのリファクタリングを呼び出すことができます。これを行うには、 Ctrl+Shift+R を押すか、右クリックしてリファクタリングを選択します。

また、タイプを目的のフォルダにドラッグしてフォルダへ移動リファクタリングを実行することもできます。このリファクタリングは、型を含むファイルをターゲットフォルダに移動し、名前空間の参照を修正し、必要に応じて内部の可視性をpublicに変更します。
既定では、この動作が有効になっています。無効にするには、ドラッグ&ドロップで「フォルダに移動」を許可する ThemedIcon RefactorThis Screen Gray をクリックします。

ドラッグ&ドロップによるリファクタリングの後、ダイアグラムは自動的に更新されますが、リファクタリングメニューから呼び出す他のリファクタリングはダイアグラムを更新しないことに注意してください。ダイアグラムのツールバーでリフレッシュ・タイプの依存性 ThemedIcon Refresh Screen Gray をクリックする必要があります。

ダイアグラムをイメージにエクスポートする

依存関係を調べる時点で、現在のビューをイメージにエクスポートできます。これを行うには、PNGにエクスポートする ThemedIcon Export Screen Gray をクリックし、イメージファイルを保存する場所を指定します。

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

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 not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not available

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

最終変更日: 2018年9月12日

関連事項