逐步解說:在 Visual Basic 中撰寫視覺化檢視
本逐步解說顯示如何使用 Visual Basic 撰寫簡易的視覺化檢視。 您在本逐步解說中建立的視覺化檢視會使用 Windows Form 訊息方塊顯示字串的內容。 這個簡易字串視覺化檢視是一個基本範例,示範如何建立更適用專案之其他資料型別的視覺化檢視。
注意事項 |
---|
根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。若要變更設定,請在 [工具] 功能表中選擇 [匯入和匯出]。如需詳細資訊,請參閱 Visual Studio 中的自訂開發設定。 |
視覺化檢視的程式碼必須放置在偵錯工具將讀取的 DLL 中。 第一步就是為 DLL 建立類別庫專案。
建立和準備類別庫專案
若要建立類別庫專案
在 [檔案] 功能表上,選擇 [新增],然後按一下 [新增專案]。
在 [新增專案] 對話方塊的 [專案類型] 下,按一下 [Visual Basic]。
在 [範本] 方塊中,按一下 [類別庫]。
在 [名稱] 方塊中,為該類別庫輸入適當的名稱,例如 MyFirstVisualizer。
按一下 [確定]。
建立類別庫之後,必須加入 Microsoft.VisualStudio.DebuggerVisualizers.DLL 的參考,如此您才能使用這個位置中定義的類別。 但請先為專案提供一個有意義的名稱。
若要重新命名 Class1.vb 和加入 Microsoft.VisualStudio.DebuggerVisualizers
在 [方案總管] 中以滑鼠右鍵按一下 [Class1.vb],並從捷徑功能表中按一下 [重新命名]。
將 Class1.vb 變更成有意義的名稱,例如 DebuggerSide.vb。
注意事項 Visual Studio 會自動變更 DebuggerSide.vb 中的類別宣告,以符合新的檔案名稱。
在 [方案總管] 中,以滑鼠右鍵按一下 [My First Visualizer],然後在捷徑功能表上按一下 [加入參考]。
在 [加入參考] 對話方塊的 [.NET] 索引標籤上,按一下 [Microsoft.VisualStudio.DebuggerVisualizers.DLL]。
按一下 [確定]。
在 DebuggerSide.vb 中,將下列陳述式加入至 Imports 陳述式:
Imports Microsoft.VisualStudio.DebuggerVisualizers
加入偵錯工具端程式碼
現在,您就可以準備建立偵錯工具端的程式碼。 這是在偵錯工具內執行的程式碼,用以顯示您要視覺化的資訊。 首先,您必須變更 DebuggerSide 物件的宣告,使其繼承基底類別 (Base Class) DialogDebuggerVisualizer。
若要繼承自 DialogDebuggerVisualizer
在 DebuggerSide.vb 中,移至下列程式碼行:
Public Class DebuggerSide
編輯程式碼使其看來如下所示:
Public Class DebuggerSide Inherits DialogDebuggerVisualizer
DialogDebuggerVisualizer 含有一個您必須覆寫的抽象方法 Show。
若要覆寫 DialogDebuggerVisualizer.Show 方法
在 public class DebuggerSide 中加入下列方法:
Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider) End Sub
Show 方法中包含實際建立視覺化檢視對話方塊 (或其他使用者介面) 的程式碼,並會在偵錯工具中顯示已傳遞至視覺化檢視的資訊。 您必須加入該程式碼,以建立對話方塊並顯示資訊。 在本逐步解說中,您將使用 Windows Form 訊息方塊進行上述動作。 首先,您必須加入 System.Windows.Forms 的參考和 Imports 陳述式。
若要加入 System.Windows.Forms
在 [方案總管] 中,以滑鼠右鍵按一下 [參考],並從捷徑功能表中按一下 [加入參考]。
在 [加入參考] 對話方塊的 [.NET] 索引標籤中,按一下 [System.Windows.Forms]。
按一下 [確定]。
在 DebuggerSide.cs 中,將下列陳述式加入至 Imports 陳述式:
Imports System.Windows.Forms
建立視覺化檢視的使用者介面
現在,您可以加入某些程式碼,建立並顯示視覺化檢視的使用者介面。 由於這是您的第一個視覺化檢視,因此我們盡量簡化使用者介面,並且會使用訊息方塊。
若要在對話方塊中顯示視覺化檢視輸出
在 Show 方法中,加入下列程式碼行:
MessageBox.Show(objectProvider.GetObject().ToString())
這個程式碼範例不包括錯誤處理。 在真實的視覺化檢視或其他任何類型的應用程式中,都應該包括錯誤處理功能。
在 [建置] 功能表上按一下 [建置 MyFirstVisualizer]。 專案應該會順利建置。 在繼續進行之前,請更正任何建置錯誤。
加入必要屬性
這是偵錯工具端的程式碼結尾。 但是還有一個步驟,就是加入告知偵錯項目端構成視覺化檢視類別集合的屬性。
若要加入偵錯項目端程式碼
將下列屬性程式碼加入至 DebuggerSide.vb,放置在 Imports 陳述式之後,namespace MyFirstVisualizer 之前:
<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
在 [建置] 功能表上按一下 [建置 MyFirstVisualizer]。 專案應該會順利建置。 在繼續進行之前,請更正任何建置錯誤。
建立 Test Harness
這時,您的第一個視覺化檢視已完成。 如果您正確遵循這些步驟的話,應該能夠建置視覺化檢視,並將它安裝至 Visual Studio 中。 但是,在將視覺化檢視安裝至 Visual Studio 之前,應該先進行測試以確定它能正確執行。 現在,您將建立 Test Harness 來執行這個視覺化檢視,而不將它安裝至 Visual Studio 中。
若要加入顯示視覺化檢視的測試方法
將下列方法加入至 public DebuggerSide 類別:
Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object) Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide)) visualizerHost.ShowVisualizer() End Sub
在 [建置] 功能表上按一下 [建置 MyFirstVisualizer]。 專案應該會順利建置。 在繼續進行之前,請更正任何建置錯誤。
接下來,您必須建立可執行的專案,以呼叫視覺化檢視的 DLL。 為簡單起見請使用主控台應用程式專案。
若要將主控台應用程式專案加入至方案
在 [檔案] 功能表上,依序按一下 [加入] 和 [新增專案]。
在 [加入新的專案] 對話方塊中,按一下 [範本] 方塊中的 [主控台應用程式]。
在 [名稱] 方塊中,為主控台應用程式輸入有意義的名稱,例如 MyTestConsole。
按一下 [確定]。
此時,你必須加入必要的參考,如此 MyTestConsole 才能呼叫 MyFirstVisualizer。
若要將必要參考加入至 MyTestConsole
在 [方案總管] 中以滑鼠右鍵按一下 [MyTestConsole],然後在捷徑功能表中按一下 [加入參考]。
在 [加入參考] 對話方塊的 [.NET] 索引標籤上,按一下 [Microsoft.VisualStudio.DebuggerVisualizers]。
按一下 [確定]。
以滑鼠右鍵按一下 [MyTestConsole],然後再次按下 [加入參考]。
在 [加入參考] 對話方塊中,按一下 [專案] 索引標籤,然後選取 [MyFirstVisualizer]。
按一下 [確定]。
完成 Test Harness 並測試視覺化檢視
現在,您就可以加入程式碼來完成 Test Harness。
若要將程式碼加入至 MyTestConsole
在 [方案總管] 中以滑鼠右鍵按一下 [Program.vb],並從捷徑功能表中按一下 [重新命名]。
將 Module1.vb 編輯為適當的名稱,例如 TestConsole.vb。
請注意,Visual Studio 會自動變更 TestConsole.vb 中的類別宣告,以符合新的檔案名稱。
在 TestConsole.vb 中,加入下列 Imports 陳述式:
Imports MyFirstVisualizer
在 Main 方法中,加入下列程式碼:
Dim myString As String = "Hello, World" DebuggerSide.TestShowVisualizer(myString)
現在,您已經準備好可以測試第一個視覺化檢視。
若要測試視覺化檢視
在 [方案總管] 中,以滑鼠右鍵按一下 [MyTestConsole],並從捷徑功能表中按一下 [設定為啟始專案]。
按一下 [偵錯] 功能表上的 [啟動]。
這時會啟動主控台應用程式。 視覺化檢視隨即出現,顯示字串 "Hello, World"。
恭喜您! 您已完成建置和測試第一個視覺化檢視。
如果您想在 Visual Studio 中使用視覺化檢視,而不只是從測試控管中進行呼叫,就必須安裝該視覺化檢視。 如需詳細資訊,請參閱 如何:安裝視覺化檢視。