逐步解說:在 Visual Basic 中撰寫視覺化檢視
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
||||
Standard 版 |
||||
Pro/Team 版 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
本逐步解說顯示如何使用 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.cs 中的類別宣告,以符合新的檔案名稱。
在 TestConsole.cs 中,加入下列 Imports 陳述式:
Imports MyFirstVisualizer
在 Main 方法中,加入下列程式碼:
String myString = "Hello, World"; DebuggerSide.TestShowVisualizer(myString);
現在,您已經準備好可以測試第一個視覺化檢視。
若要測試視覺化檢視
在 [方案總管] 中,以滑鼠右鍵按一下 [MyTestConsole],並從快速鍵功能表中按一下 [設定為啟始專案]。
在 [偵錯] 功能表上按一下 [啟動]。
這時會啟動主控台應用程式。視覺化檢視隨即出現,顯示字串 "Hello, World"。
恭喜您!您已完成建置和測試第一個視覺化檢視。
如果您想在 Visual Studio 中使用視覺化檢視,而不只是從測試控管中進行呼叫,就必須安裝該視覺化檢視。如需詳細資訊,請參閱 HOW TO:安裝視覺化檢視。