共用方式為


概述

VisualStudio.Extensibility Diagnostics Explorer 擴充功能的設計目的是在開發 VisualStudio.Extensibility 擴充功能時協助偵錯 VisualStudio.Extensibility 擴充功能。 此延伸模組的目標物件是延伸模組作者,而不是延伸模組取用者。 此延伸模組提供介面,用來檢查延伸模組所互動的擴充點,以及哪些組態物件延伸模組會提供給IDE,以及這些組態物件的元數據。

開始

請遵循這些指示來安裝、啟動及設定 Diagsnotics Explorer。

安裝延伸模組

您可以直接透過 Visual Studio 中的擴充功能管理員或從 Visual Studio 市集 取得診斷探索工具

注意

VisualStudio.Extensibility Diagnostics Explorer 擴充功能與 Visual Studio 2022 17.12 和更新版本相容。

在 Visual Studio 中開啟診斷總管

若要在 Visual Studio 中啟動 [診斷總管],請在 [延伸模組] 功能表中選取 [VisualStudio.Extensibility Diagnostics Explorer]。

開啟延伸模組工具視窗之命令的螢幕快照。

啟用診斷收集

診斷總管預設會設定為從擴充功能收集相關的診斷數據。 如果您想要停用或重新啟用此資料收集,您可以在工具視窗左下角切換 [啟用收集診斷] 複選框。 需要重新啟動 Visual Studio,此設定的任何變更才會生效。

[啟用收集診斷] 設定的螢幕快照。

診斷頁面

[診斷總管] 工具視窗的左側面板包含一個不同診斷頁面的清單,。 診斷頁面有兩種類型 - 可延伸的功能和擴充性基礎結構。 可延伸功能頁面提供Visual Studio內特定可延伸元件的診斷資訊,例如命令。 擴充性基礎結構頁面提供診斷資訊,這些資訊在您的延伸模組無論插入到哪個擴充性點時都是相關的。 事件 頁面、擴充性相關事件的即時查看器,以及 客戶端內容 頁面,其中顯示相關的 IDE 狀態,可協助您製作啟用條件約束,是兩個擴充性基礎結構頁面。

工具視窗左側面板的螢幕快照。

可延伸功能頁面

可延伸功能頁面在左上方有一個下拉選單,適用於該功能區域中的不同的 擴充點,其中每一個都可直接對應到擴充模組中的設定物件。 例如,在 [命令] 頁面中,存在一個 [擴充點] 用於 [功能表] 和 [工具列],這會顯示 Visual Studio 在 VisualStudio.Extensibility 擴充性模組中探索到的每個功能表和工具列。

隨著延伸模組中的屬性更新,數據會即時更新。 例如,如果延伸模組在運行時間變更其其中一個命令的顯示名稱,該命令的新顯示名稱會顯示在命令的 [顯示名稱] 資料行 數據行中。

[命令] 頁面的螢幕快照。

擴充點 ComboBox 也包含一個名為 Log的項目,可讓您即時檢視這些更新。 ComboBox 旁的 [清除所有] 按鈕可用來清除目前顯示在檢視中的所有行。

命令記錄頁面的螢幕快照。

您可以使用 Extensions ComboBox 來篩選檢視中的專案。 當在此 ComboBox 中選取 All 時,每個已安裝的 VisualStudio.Extensibility 擴充功能的資料都會顯示出來。 如果您將此 ComboBox 變更為特定延伸模組的識別碼,只會顯示與該特定延伸模組相關的專案。 即使您在可延伸功能頁面之間巡覽,此 ComboBox 的值仍會保存。

對特定擴充功能進行篩選後的命令頁面螢幕擷圖。

DataGrid 中的某些儲存格會顯示 [按兩下以展開]。 此訊息表示與該屬性相關的元數據太詳細,無法整齊地顯示在 DataGrid 的儲存格中。 按兩下儲存格會開啟模式對話框,以顯示該儲存格的實際值。

[按兩下以展開] 模式對話框的螢幕快照。

可擴展的基礎結構頁面

事件頁面

[事件] 頁面會顯示 IDE 中「發生事情的時候」。 每個事件都會顯示為 DataGrid 中的新數據列,以及與該事件相關的任何屬性。 例如,當命令執行時,Commands - Execute 事件會出現在檢視中,其中顯示命令所屬的延伸模組標識符,以及執行命令的標識碼。

您可以使用 Event ComboBox 來篩選檢視,只包含具有特定名稱的事件。 選取 「所有」時,會顯示所有事件。 如果選取特定事件,則會在檢視中顯示事件的所有屬性。 如果某些屬性太冗長而無法顯示在單一單元格中,則必須按下 [按一下以展開] 來展開顯示。

合約 ComboBox 會篩選檢視,只顯示與特定可延伸功能相關的事件。 它也會篩選 Event ComboBox,只包含與特定可延伸功能相關的事件名稱。

按兩下 [清除所有] 按鈕會刪除檢視中目前顯示的所有事件。

[事件] 頁面的螢幕快照。

欄位描述
延伸模組識別碼

擴充功能 ID 欄位顯示與事件實例相關的擴充功能 ID。 有些事件如果不屬於特定的擴充功能,此儲存格可能會是空的,而是適用於整個 IDE。

項目標識碼

項目ID 欄顯示與事件實例相關的擴充項目ID。 例如,項目識別碼 對於 命令 - 執行 事件,將是已執行命令的識別碼。

性能

Properties 數據行會顯示與該事件實例相關的屬性集,這些屬性可以顯示在 DataGrid 中的單一單元格中。 只有在 [更多資訊] 對話框中查看,或將 [事件 ComboBox] 更改為您感興趣的特定事件名稱時,才能看到更詳細的屬性。

詳細資訊

[更多資訊] 欄位顯示與事件相關的更詳細元數據資訊。 點擊此欄位中的儲存格會開啟模式對話框,其中包含與該資料列所表示事件相關的所有元數據。

[更多資訊] 對話框的螢幕快照。

客戶情境頁面

用戶端內容頁面會顯示與 IDE 本身相關的各種屬性狀態。 Context ComboBox 會變更檢視中的資料,以顯示 [客戶端內容] ComboBox 中目前選取項目相關的所有啟用條件約束,或列出在工具視窗開啟後這些屬性變更的所有時間記錄。 選取 [事件] 內容時,可以使用 [清除所有] 按鈕來刪除檢視中目前顯示的所有事件。

啟用條件約束的 [目前狀態] 頁面螢幕快照。

啟用條件約束 [事件] 頁面的螢幕快照。