Share via


アーキテクチャ エクスプローラーを使用したコードの検索

特定のコードを探すには、Visual Studio Ultimate のアーキテクチャ エクスプローラーを使って次を参照します。

  • Visual C# .NET、Visual Basic .NET、Visual C++、または X++ プロジェクト

  • 複数のアプリでコードを共有するプロジェクト

  • アセンブリ、実行可能ファイル、バイナリなどのコンパイルされたコード

複数のアプリや X++ コードで共有されるコードを参照するには、Visual Studio 2013 Update 2 以降が必要です。 型が同じ名前を持ち、ソリューションの複数のアプリケーション プロジェクトで共有されている場合、その型はアーキテクチャ エクスプローラーで何度も表示されます。

見つけたコード内での関係を表示するには、アーキテクチャ エクスプローラーからコード マップまたは依存関係のグラフを作成します。 「依存関係グラフ上のコード間での依存関係の対応付け」を参照してください。

  • アーキテクチャ エクスプローラーの開始

  • Visual Studio ソリューション内のソース コードを検索する

  • アセンブリ、実行可能ファイル、またはバイナリ内のコンパイルされたコードを検索する

  • 結果を絞り込む

  • 結果を更新する

アーキテクチャ エクスプローラーの開始

アーキテクチャ エクスプローラーを開く

  • [アーキテクチャ] メニューの [ウィンドウ] をポイントし、[アーキテクチャ エクスプローラー] をクリックします。

    アーキテクチャ エクスプローラーの上に [エラー一覧] ウィンドウや [出力] ウィンドウなどが表示される場合、アーキテクチャ エクスプローラーのサイズ変更が妨げられないように、それらのウィンドウを移動できます。

アーキテクチャ エクスプローラーのトップレベル ドメイン

アーキテクチャ エクスプローラー: ドメイン、ビュー、ノード、ノードの種類、およびリンクの種類

アーキテクチャ エクスプローラーは、構造をノードとして、関係をリンクとして表します。 参照時、アーキテクチャ エクスプローラーにはノードが列として表示されます。 最初の列には、参照できるドメインとビューが表示されます。 ドメインおよびビューを選択すると、アーキテクチャ エクスプローラーにはそのビューで使用できるノードが表示されます。

1 つの列で複数のノードを選択すると、アーキテクチャ エクスプローラーの次の列に、現在選択しているノードに論理的に関連するノードが表示されます。 たとえば、名前空間を選択すると、次の列に型が表示されます。 型を選択すると、次の列にメンバーが表示されます。 ノード列の右側に沿って表示される折りたたまれたアクション列は、次の列に含まれるノードの既定の種類または関係を示します。 アクション列を展開し、特定の種類のノードまたはリンクを選択することで、次の列の結果をフィルター処理できます。

ヒント

アクション列の上にポインターを移動すると、強調表示されます。

Visual Studio ソリューション内のソース コードを検索する

アーキテクチャ エクスプローラーのソリューション ビューまたはクラス ビューを使用して、式のレベルまでソース コードを参照できます。

  • クラス ビューにはソリューションの論理ビューが表示されます。 たとえば、名前空間、クラス、メンバーなどで参照できます。

    アーキテクチャ エクスプローラーのクラス ビュー

  • ソリューション ビューにはソリューションの物理ビューが表示されます。 たとえば、プロジェクト、プロジェクト ファイルなどで参照できます。

    アーキテクチャ エクスプローラーのソリューション ビュー

ソリューション内のコードを検索するには

  1. まず、Visual Studio <ソリューション名> にあるアーキテクチャ エクスプローラーの最初の列で、[クラス ビュー] または [ソリューション ビュー] をクリックします。

    最初の列の右側に別の列が表示されます。 この列には、選択したビューで使用できるすべてのノードが表示されます。 たとえば、クラス ビューを選択した場合は、ソリューション内に論理的に存在するすべての名前空間が表示されます。

  2. ノード列で、1 つまたは複数のノードを選択し、関連するノードの次の列を表示します。 現在の列のノードをすべて選択するには、Ctrl キーを押しながら A キーを押します。

  3. 目的のノードが見つかるまで、手順 2. を繰り返します。

    ヒント

    列をクリアしてクエリを再度実行するには、アーキテクチャ エクスプローラーのツール バーの [列のクリア][列のクリア] ボタンをクリックします。

アセンブリ、実行可能ファイル、またはバイナリ内のコンパイルされたコードを検索する

アーキテクチャ エクスプローラー[ファイルの選択] を使用して、メソッド間呼び出しのレベルまでマネージ アセンブリを参照します。

  1. [アーキテクチャ] メニューの [ウィンドウ] をポイントし、[アーキテクチャ エクスプローラー] をクリックします。

  2. 最初の列の [ファイル システム][ファイルの選択] をクリックします。

  3. [開く] ダイアログ ボックスで、アセンブリ ファイルまたはバイナリ ファイルを参照して選択し、[開く] をクリックします。

    ノード列が表示され、選択したファイルが表示されます。

  4. ノード列で、1 つまたは複数のファイルを選択します。

    別のノード列が表示され、選択したファイル内のすべてのノードが表示されます。

  5. 1 つまたは複数のノードを選択し、関連するノードの次の列を表示します。 現在の列のノードをすべて選択するには、Ctrl キーを押しながら A キーを押します。

  6. 目的のノードが見つかるまで、手順 4. および 5. を繰り返します。

結果を絞り込む

次の方法で、参照セッションの結果を絞り込むことができます。

  • 現在の列で結果を名前別にフィルター処理する

  • 現在の列で結果をカテゴリ別またはプロパティ別にフィルター処理する

  • 次の列で結果をカテゴリ別にフィルター処理する

  • 次の列で結果をリンク タイプ別にフィルター処理する

  • 結果をコンテナー別またはプロパティ値別にグループ化する

現在の列で結果を名前別にフィルター処理する

現在の列のフィルター処理 (名前順)

  1. アーキテクチャ エクスプローラーの列の上部で、網掛け部分をクリックしてフィルター ボックスを表示させます。

  2. 名前を入力し、Enter キーを押します。

    現在の列に一致するノードのみが表示されます。 列の右下隅には、その列がフィルター処理されていることを示すウォーターマークが表示されます。

現在の列で結果をカテゴリ別またはプロパティ別にフィルター処理する

現在の列のフィルター処理 (カテゴリ順またはプロパティ順)

  1. アーキテクチャ エクスプローラーの列の上部で、網掛け部分をクリックしてフィルター ボックスを表示させます。

  2. フィルター ボックスの左側で、[現在の列の項目をカテゴリおよびプロパティに基づいてフィルター処理します] ボタンをクリックします。

  3. 特定のカテゴリの項目だけを表示するには、[カテゴリ] で、該当する型をクリックします。

  4. 特定のプロパティの項目だけを表示するには、[プロパティ] で、該当するプロパティをクリックします。

  5. 終了したら、[OK] をクリックします。

    一致する項目だけが現在の列に表示されます。 列の右下隅には、その列がフィルター処理されていることを示すウォーターマークが表示されます。

次の列で結果をカテゴリ別にフィルター処理する

  1. アーキテクチャ エクスプローラーで、表示するノードの前にあるノード列を参照し、目的のノードを選択します。

  2. ノード列の右側で、折りたたまれたアクション列をクリックして展開します。

    ヒント

    アクション列の上にポインターを移動すると、強調表示されます。

  3. アクション列の [ノード ナビゲーション] で、次に表示する特定のノードの種類を選択します。 これらの種類の共用体を表示するには、複数の種類を選択します。

    ノード列が表示され、一致するノードが表示されます。

    注意

    .NET コードを参照すると、型 Unions、Typedefs、および Members が見つかる場合があります。これらは、C コードと C++ コードだけに適用され、これらの型を選択しても結果が表示されません。

次の列で結果をリンク タイプ別にフィルター処理する

アーキテクチャ エクスプローラーでは、次のノード セットのフィルター処理に使用されるリンクの種類が、インバウンドとアウトバウンドの 2 つのカテゴリに編成されます。 この 2 つのカテゴリは、現在選択されているノードに対するリンクの方向を表します。 アウトバウンド リンクは、現在選択されているノードから関連する次のノードを示します。 インバウンド リンクは、関連する前のノードから現在選択されているノードを示します。 アウトバウンドのリンクの種類を選択すると、アーキテクチャ エクスプローラーには関連するノードの次のレベルが表示されます。 インバウンドのリンクの種類を選択すると、アーキテクチャ エクスプローラーには関連するノードの前のレベルが表示されます。

たとえば、クラス ノードを選択し、アウトバウンドの [を含む] リンクの種類を選択すると、アーキテクチャ エクスプローラーにはクラス ノードに含まれるノードが表示されます。 そのクラス ノードのインバウンドの [含まれる] リンクの種類を選択すると、名前空間、クラス ファイル、プロジェクトなど、そのクラスを含むノードが表示されます。

  1. アーキテクチャ エクスプローラーで、表示するノードの前にあるノード列を参照し、目的のノードを選択します。

  2. ノード列の右側で、折りたたまれたアクション列をクリックして展開します。

    注意

    アクション列の上にポインターを移動すると、強調表示されます。

  3. アクション列で、次のいずれかを選択します。

    • 次のレベルの関連するノードを表示するには、[アウトバウンド ナビゲーション] で、目的のリンクの種類を選択します。

    • 前のレベルの関連するノードを表示するには、[インバウンド ナビゲーション] で、目的のリンクの種類を選択します。

      注意

      これらの種類の共用体を表示するには、複数の種類を選択します。

    次の列が表示され、一致するノードが表示されます。

結果をコンテナー別またはプロパティ値別にグループ化する

アーキテクチャ エクスプローラーでは、既存のコンテインメント関係またはプロパティ値に基づいてノードのグループを生成できます。 グループ化が可能な場合、このタスクを完了すると新しいグループ ノードの一覧が表示されます。

アーキテクチャ エクスプローラーでこれらのグループからグラフを作成すると、[すべてをグループとして表示] を使用して、リンクされたノードをグループに編成できます。 詳細については、次のトピックを参照してください。

グループを使用して、既存のグラフのノードを整理することもできます。 詳細については、「依存関係グラフの編集およびカスタマイズ」を参照してください。

  1. アーキテクチャ エクスプローラーで、グループ化するノードを含むノード列を参照します。 現在の列の項目をすべて選択するには、Ctrl キーを押しながら A キーを押します。

  2. ノード列の右側で、折りたたまれたアクション列をクリックして展開します。

    注意

    アクション列の上にポインターを移動すると、強調表示されます。

  3. アクション列の [グループ化] で、次の操作を行います。

    クリック対象

    Then

    [コンテナーでグループ化] をクリックして、使用可能なグループを表示する

    • これらのグループにあるノードを表示するには、いくつかのグループを選択します。

      次の列に、選択したグループにあるノードが表示されます。

    [プロパティでグループ化] をクリックして、使用可能なプロパティを表示する

    1. グループとして使用するプロパティを選択します。

      次の列に、プロパティ値別に編成されたグループが表示されます。

    2. 特定のプロパティ値を持つノードを表示するには、いくつかのプロパティ値グループを選択します。

    表示されるグループの数と種類は、プロパティ値の型に基づいています。

    • ブール値: True および False。

    • 整数値: 値の範囲を均等な四分位数に分割する 4 つのグループ。

    • 文字列値: 一意の文字列値ごとに 1 つのグループが表示され、ノードはその特定のプロパティ値に基づいて各グループに属します。

      これは、複数のノード間で選択したプロパティに同じ文字列値が設定されている場合に便利です。 たとえば、ノードごとに一意の文字列値を持つプロパティを選択すると、ノードごとに 1 つのグループが設定されます。

結果を更新する

コードまたはソリューションに行われた変更を表示するには、アーキテクチャ エクスプローラーを手動で更新します。

  1. アーキテクチャ エクスプローラーで、更新する列の前にあるノード列を参照します。

  2. 現在の列で、更新されたノードに関連するノードを選択します。

    更新されたノードの一覧を表示する、別のノード列が表示されます。

参照

概念

依存関係グラフ上のコード間での依存関係の対応付け

コードのビジュアル化