次の方法で共有


概要

VisualStudio.Extensibility 診断エクスプローラー拡張機能は、VisualStudio.Extensibility 拡張機能を開発しながらデバッグできるように設計されています。 この拡張機能の対象ユーザーは拡張機能の作成者であり、拡張機能コンシューマーではありません。 この拡張機能は、拡張機能が対話している拡張ポイントと、IDE に提供されている構成オブジェクトの拡張機能、およびそれらの構成オブジェクトのメタデータを検査するためのインターフェイスを提供します。

作業を開始する

診断エクスプローラーをインストール、起動、構成するには、次の手順に従います。

拡張機能をインストールする

診断エクスプローラーは、Visual Studio の拡張機能マネージャーから直接取得することも、こちらの Visual Studio Marketplace から直接取得することもできます。

Note

VisualStudio.Extensibility 診断エクスプローラー拡張機能は、Visual Studio 2022 17.10 以降と互換性があります。

Visual Studio で [診断エクスプローラー] を開きます

Visual Studio で診断エクスプローラーを起動するには、[拡張機能] メニューの [VisualStudio.Extensibility 診断エクスプローラー] を選択します。

拡張機能のツール ウィンドウを開くコマンドのスクリーンショット。

診断の収集を有効にする

診断エクスプローラーは、既定で拡張機能から関連する診断データを収集するように構成されています。 このデータ収集を無効または再度有効にする場合は、ツール ウィンドウの左下隅にある [収集診断を有効にする] チェックボックスを切り替えることができます。 この設定の変更を有効にするには、Visual Studio を再起動する必要があります。

[診断の収集を有効にする] 設定のスクリーンショット。

[診断] ページ

[診断エクスプローラー] ツール ウィンドウの左側のパネルには、さまざまな機能ページの一覧が表示されます。 これらのページは、Visual Studio が拡張機能から検出したコンポーネントと構成に関する診断情報を見つけることができる拡張可能な機能に対応しています。 たとえば、[コマンド] を選択すると、コマンド、コマンド セット、メニューとツール バー、配置などに関連する診断を表示できます。

また、拡張機能内のコンポーネントに直接関連しない 2 つの特別なページも一覧に含まれています。拡張関連イベントのライブ ビューアーであるイベントと、アクティブ化の制約を作成するのに役立つ関連する IDE の状態を示すアクティブ化制約です。

ツール ウィンドウの左側のパネルのスクリーンショット。

拡張可能な機能のページ

拡張可能な機能のページの左上には、その機能領域のさまざまな拡張ポイント の ComboBox があり、それぞれが拡張機能の構成オブジェクトに直接マップできます。 たとえば、[コマンド] ページには、VisualStudio.Extensibility 拡張機能で Visual Studio によって検出された各メニューとツール バーが表示される、メニューとツール バー拡張ポイントがあります。

プロパティが拡張機能で更新されると、データはリアルタイムで更新されます。 たとえば、拡張機能がランタイム時にそのコマンドの表示名を変更した場合、そのコマンドの新しい表示名は、そのコマンドの [表示名] 列のセルにすぐに表示されます。

[コマンド] ページのスクリーンショット。

拡張ポイント ComboBox には「Log」という項目もあり、これらの更新プログラムのライブ ビューが表示されます。 ComboBox の横にある [すべてクリア] ボタンを使用すると、ビューに現在表示されているすべての行をクリアできます。

[コマンドのログ] ページのスクリーンショット。

拡張機能 ComboBox を使用して、ビュー内の項目をフィルター処理できます。 この ComboBox で [すべて] を選択すると、インストールされているすべての VisualStudio.Extensibility 拡張機能のデータが表示されます。 この ComboBox を特定の拡張機能の ID に変更すると、その特定の拡張機能に関連する項目のみが表示されます。 この ComboBox の値は、拡張可能な機能ページ間を移動する場合でも保持されます。

特定の拡張機能にフィルター処理された [コマンド] のページのスクリーンショット。

DataGrid の一部のセルには、[クリックして展開] と表示されます。 このメッセージは、そのプロパティに関連するメタデータが詳細すぎるため、DataGrid のセルに適切に表示できないことを意味します。 セルをクリックするとモーダル ダイアログが開き、そのセルの実績値が表示されます。

[クリックして展開] モーダル ダイアログのスクリーンショット。

[イベント] ページ

イベント ページでは、IDE で "何かが発生した" とき表示されます。 各イベントは、そのイベントに関連するすべてのプロパティと共に、DataGrid に新しい行として表示されます。 たとえば、コマンドが実行されると、コマンドが属している拡張機能の ID と実行されたコマンドの ID を示す コマンド - 実行 イベントがビューに表示されます。

イベント ComboBox を使用すると、ビューをフィルター処理して、特定の名前のイベントのみを含めることができます。 [すべて] を選択すると、すべてのイベントが表示されます。 特定のイベントが選択されている場合、イベントのすべてのプロパティがビューに表示されます。 一部のプロパティは、詳細すぎて 1 つのセルに表示できない場合、[クリックして展開] をクリックして展開する必要があります。

コントラクト ComboBox はビューをフィルター処理して、特定の拡張可能な機能に関連するイベントのみを表示します。 また、特定の拡張可能な機能に関連するイベントの名前のみを含めるように、Event ComboBox をフィルター処理します。

[すべてクリア] ボタンをクリックすると、ビューに現在表示されているすべてのイベントが削除されます。

[イベント] ページのスクリーンショット。

列の説明

拡張 ID

[拡張機能 ID] 列には、イベントのインスタンスが関連付けられている拡張機能の ID が表示されます。 特定の拡張機能に属していないが、代わりに IDE 全体に適用されるイベントには、このセルが空になる可能性があります。

Item ID

[項目 ID] 列には、イベントのインスタンスが関連付けられている拡張機能の 項目の ID が表示されます。 たとえば、コマンド - 実行 イベントの項目 ID は、実行されたコマンドの ID になります。

プロパティ

[プロパティ] 列には、DataGrid の 1 つのセルに表示できるイベントのそのインスタンスに関連するプロパティのセットが表示されます。 より詳細なプロパティは、[詳細情報] ダイアログから、または関心のある特定のイベントの名前にイベント ComboBox を変更することによってのみ表示されます。

詳細情報

[詳細情報] 列には、イベントに関連するより詳細なメタデータが表示されます。 この列のセルをクリックすると、その行で表されるイベントに関連するすべてのメタデータを含むモーダル ダイアログが開きます。

[詳細情報] ダイアログのスクリーンショット。

アクティブ化制約のページ

アクティブ化制約のページには、IDE 自体に関連するさまざまなプロパティの状態が表示されます。 コンテキスト ComboBox は、ビュー内のデータを変更して、アクティブ化制約 ComboBox で現在選択されている項目に関連するすべてのアクティブ化制約を表示するか、ツール ウィンドウを開いた後にこれらのプロパティが変更されたすべての時間のログを表示します。 [イベント] コンテキストを選択すると、[すべてクリア] ボタンを使用して、ビューに現在表示されているすべてのイベントを削除できます。

アクティブ化制約の [現在の状態] ページのスクリーンショット。

アクティブ化制約の [イベント] ページのスクリーンショット。