概觀
VisualStudio.Extensibility 診斷總管擴充功能旨在協助在開發 VisualStudio.Extensibility 擴充功能時進行偵錯。 此擴充功能的目標對象是擴充功能作者,而不是擴充功能取用者。 此擴充功能提供介面,用來檢查擴充功能所互動的擴充點,以及擴充功能會向整合式開發環境 (IDE) 提供哪些設定物件,及這些設定物件的中繼資料。
開始使用
請遵循這些指示,來安裝、啟動及設定診斷總管。
安裝擴充功能
您可以直接透過 Visual Studio 中的擴充功能管理員,或從這裡的 Visual Studio Marketplace 取得診斷總管。
注意
VisualStudio.Extensibility Diagnostics Explorer 擴充功能與 Visual Studio 2022 17.12 和更新版本相容。
在 Visual Studio 中,開啟 [診斷總管]
若要在 Visual Studio 中啟動診斷總管,請在 [擴充功能] 功能表中選取 [VisualStudio.Extensibility 診斷總管]。
啟用診斷的收集
預設情況下,診斷總管會設定為從擴充功能收集相關的診斷資料。 如果您想要停用或重新啟用此資料收集,您可以在工具視窗左下角切換 [啟用收集診斷] 核取方塊。 需要重新啟動 Visual Studio,對此設定所做的任何變更才會生效。
診斷頁面
[診斷總管] 工具視窗的左側面板包含不同的 診斷頁面清單。 診斷頁面有兩種類型 - 可延伸的功能和擴充性基礎結構。 可延伸功能頁面提供Visual Studio內特定可延伸元件的診斷資訊,例如命令。 擴充性基礎結構頁面提供相關的診斷資訊,不論延伸模組插入的擴充性為何。 [事件] 頁面、擴充性相關事件的即時查看器,以及顯示相關 IDE 狀態以協助您製作啟用條件約束的相關 IDE 頁面,都是兩個擴充性基礎結構頁面。
可延伸功能頁面
可延伸功能頁面的左上方有 ComboBox,適用於該功能區域中的不同擴充點,其中每個擴充點都可以直接對應至擴充功能中的設定物件。 例如,在 [命令] 頁面中,有一個 [功能表與工具列] 的 [擴充點],其中會顯示 Visual Studio 在 VisualStudio.Extensibility 擴充功能中探索到的每個功能表和工具列。
隨著擴充功能中的屬性更新,資料亦會即時更新。 例如,如果擴充功能在執行階段變更其中一個命令的顯示名稱,則該命令的新顯示名稱會立即顯示在該命令的 [顯示名稱] 資料行的資料格中。
擴充點 ComboBox 也有名為 Log 的項目,其會顯示這些更新的即時檢視。 ComboBox 旁的 [全部清除] 按鈕可用來清除檢視中目前顯示的所有行。
您可以使用擴充功能 ComboBox 來篩選檢視中的項目。 在此 ComboBox 中選取 [全部] 時,會顯示每個已安裝的 VisualStudio.Extensibility 擴充功能的資料。 如果您將此 ComboBox 變更為特定擴充功能的 ID,則僅會顯示與該特定擴充功能相關的項目。 即使您在可擴充功能頁面之間瀏覽,此 ComboBox 的值仍會予以保存。
DataGrid 中的某些資料格會顯示 [按下以展開]。 此訊息表示與該屬性相關的中繼資料太過詳細,而無法整齊地顯示在 DataGrid 的資料格中。 按下資料格即會開啟強制回應對話方塊,以顯示該資料格的實際值。
可延伸基礎結構頁面
事件頁面
[事件] 頁面會顯示在整合式開發環境 (IDE) 中「發生問題」的時間。 每個事件在 DataGrid 中顯示未新的資料列,以及與該事件相關的任何屬性。 例如,當執行命令時,[命令 - 執行] 事件會出現在檢視中,其中顯示命令所屬的擴充功能 ID 以及執行的命令的 ID。
您可以使用事件 ComboBox 來篩選檢視,以僅包含具有特定名稱的事件。 選取 [全部] 時,即會顯示所有事件。 若選取特定事件,則會在檢視中顯示事件的所有屬性。 如果某些屬性太過詳細而無法顯示在單一資料格中,則需要按一下 [按下以展開] 來展開。
合約 ComboBox 會篩選檢視,以僅顯示與特定可擴充功能相關的事件。 其還會篩選 Event
ComboBox,以僅包含與特定可擴充功能相關的事件名稱。
按下 [全部清除] 按鈕會刪除檢視中目前顯示的所有事件。
資料行描述
擴充識別碼
[擴充功能 ID] 資料行會顯示與事件執行個體相關的擴充功能 ID。 如果某些事件不屬於特定擴充功能而是套用到整個整合式開發環境 (IDE),則此資料格可能會是空的。
項目識別碼
[項目 ID] 資料行會顯示與事件執行個體相關的擴充功能項目 ID。 例如,[命令 - 執行] 事件的 [項目 ID] 是執行的命令的 ID。
屬性
[屬性] 資料行會顯示與該事件執行個體相關的屬性集,而該執行個體可以顯示在 DataGrid 的單一資料格中。 只有從 [更多資訊] 對話方塊,或透過將 [事件] ComboBox 變更為您感興趣的特定事件名稱,才能看到更多詳細資訊屬性。
其他資訊
[更多資訊] 資料行會顯示與事件相關的更多詳細資訊中繼資料。 按下此資料行中的資料格會開啟強制回應對話方塊,其中包含與該資料列所表示事件相關的所有中繼資料。
用戶端內容頁面
用戶端內容頁面會顯示與 IDE 本身相關的各種屬性狀態。 Context ComboBox 會將檢視中的數據變更為顯示與用戶端內容 ComboBox 中目前選取專案相關的所有啟用條件約束,或開啟工具視窗後這些屬性變更的所有時間記錄。 選取 [事件] 內容時,[全部清除] 按鈕可用來刪除檢視中目前顯示的所有事件。