Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf Visual Studio 2022 versie 17.9 kunnen visualizers nu worden geschreven in .NET 6.0+, die buiten het proces worden uitgevoerd met behulp van het nieuwe VisualStudio.Extensibility-model. Zie de documentatie bij Visual Studio-foutopsporingsprogramma's maken voor extensies die zijn gemaakt met behulp van het nieuwe model. Als u oudere versies van Visual Studio wilt ondersteunen of uw aangepaste visuals wilt verzenden als onderdeel van een bibliotheek-DLL, gebruikt u de informatie in dit artikel, die alleen van toepassing is op het oudere model voor uitbreidingsontwikkeling (VSSDK).
In deze handleiding ziet u hoe u een eenvoudige visualisator kunt schrijven met behulp van Visual Basic. Met de visualizer die u tijdens deze rondleiding maakt, wordt de inhoud van een tekenreeks weergegeven met behulp van een Windows Forms-berichtvak. Deze eenvoudige tekenreeks visualiseren is een eenvoudig voorbeeld om te laten zien hoe u visualisaties kunt maken voor andere gegevenstypen die meer van toepassing zijn op uw projecten.
Opmerking
De dialoogvensters en menuopdrachten die u ziet, kunnen afwijken van de dialoogvensters en menuopdrachten die worden beschreven in Help, afhankelijk van uw actieve instellingen of editie. Als u uw instellingen wilt wijzigen, gaat u naar het menu Extra en kiest u Importeren en exporteren . Zie Instellingen opnieuw instellenvoor meer informatie.
Visualr-code moet worden geplaatst in een DLL die wordt gelezen door het foutopsporingsprogramma. De eerste stap is het maken van een klassebibliotheekproject voor het DLL-bestand.
Een klassebibliotheekproject maken en voorbereiden
Een klassebibliotheekproject maken
Maak een nieuw klassebibliotheekproject.
Druk op Esc om het startvenster te sluiten. Typ Ctrl + Q om het zoekvak te openen, typ de klassebibliotheek en selecteer vervolgens de Visual Basic Class Library (.NET Framework).
Druk op Esc om het startvenster te sluiten. Typ Ctrl + Q om het zoekvak te openen, typ visual basic, kies Sjablonen en kies vervolgens Een nieuwe klassebibliotheek (.NET Framework) maken.
Typ een geschikte naam voor de klassebibliotheek, bijvoorbeeld
MyFirstVisualizeren klik vervolgens op Maken of OK.Wanneer u de klassebibliotheek hebt gemaakt, moet u een verwijzing toevoegen naar Microsoft.VisualStudio.DebuggerVisualizers.DLL, zodat u de klassen kunt gebruiken die daar zijn gedefinieerd. Eerst geeft u uw project echter een betekenisvolle naam.
De naam van Class1.vb wijzigen en Microsoft.VisualStudio.DebuggerVisualizers toevoegen
Klik in Solution Explorer met de rechtermuisknop op Class1.vb en klik in het snelmenu op Naam wijzigen.
Wijzig de naam van Class1.vb in iets zinvols, zoals DebuggerSide.vb.
Opmerking
Visual Studio wijzigt automatisch de klassedeclaratie in DebuggerSide.vb zodat deze overeenkomt met de nieuwe bestandsnaam.
Klik in Solution Explorer met de rechtermuisknop op Mijn eerste visualisatie en klik in het snelmenu op Verwijzing toevoegen.
In het dialoogvenster Verwijzing toevoegen, ga naar het tabblad Bladeren, selecteer Bladeren en zoek de Microsoft.VisualStudio.DebuggerVisualizers.DLL.
U vindt het DLL-bestand in <Visual Studio Install Directory>\Common7\IDE\PublicAssemblies submap van de installatiemap van Visual Studio.
Klik op OK.
Voeg in DebuggerSide.vb de volgende instructie toe aan de
Importsinstructies:Imports Microsoft.VisualStudio.DebuggerVisualizers
De code aan de foutopsporingszijde toevoegen
Nu bent u klaar om de debuggerzijde code te maken. Dit is de code die wordt uitgevoerd in het foutopsporingsprogramma om de informatie weer te geven die u wilt visualiseren. Eerst moet u de declaratie van het DebuggerSide object wijzigen zodat het wordt overgenomen van de basisklasse DialogDebuggerVisualizer.
Overnemen van DialogDebuggerVisualizer
Ga in DebuggerSide.vb naar de volgende regel code:
Public Class DebuggerSideBewerk de code zodat deze er als volgt uitziet:
Public Class DebuggerSide Inherits DialogDebuggerVisualizerOpmerking
DialogDebuggerVisualizer verwacht een
FormatterPolicyargument in de constructor. Vanwege de beveiligingsproblemen die worden beschreven in speciale overwegingen voor debuggerzijde voor .NET 5.0+, kunnen visualizers vanaf Visual Studio 2022 versie 17.11 hetLegacyopmaakbeleid niet specificeren.DialogDebuggerVisualizerheeft één abstracte methode,Showdie u moet overschrijven.
De methode DialogDebuggerVisualizer.Show overschrijven
Voeg
public class DebuggerSidede volgende methode toe:Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider) End SubDe
Showmethode bevat de code die daadwerkelijk het dialoogvenster Visualizer of een andere gebruikersinterface maakt en geeft de informatie weer die is doorgegeven aan de visualizer vanuit het foutopsporingsprogramma. U moet de code toevoegen waarmee het dialoogvenster wordt gemaakt en de informatie wordt weergegeven. In dit scenario gaat u dit doen met behulp van een berichtvak van Windows Forms. Eerst moet u een verwijzing enImportsinstructie toevoegen voor System.Windows.Forms.
System.Windows.Forms toevoegen
Klik in Solution Explorer met de rechtermuisknop op Verwijzingen en klik in het snelmenu op Verwijzing toevoegen.
In het dialoogvenster Verwijzing toevoegen, op het tabblad Bladeren, selecteer Bladeren en zoek de System.Windows.Forms.DLL.
U vindt het DLL-bestand in C:\Windows\Microsoft.NET\Framework\v4.0.30319.
Klik op OK.
Voeg in DebuggerSide.cs de volgende instructie toe aan de
Importsinstructies:Imports System.Windows.Forms
De gebruikersinterface van uw visualizer maken
Nu voegt u code toe om de gebruikersinterface voor uw visualisator te maken en weer te geven. Omdat dit uw eerste visualisatie is, houdt u de gebruikersinterface eenvoudig en gebruikt u een berichtenvak.
De uitvoer van de visualisatie weergeven in een dialoogvenster
Voeg in de
Showmethode de volgende coderegel toe:MessageBox.Show(objectProvider.GetObject().ToString())Deze voorbeeldcode bevat geen foutafhandeling. U moet foutafhandeling opnemen in een echte visualisatie of een ander soort toepassing.
Klik in het menu Build op Build MyFirstVisualizer. Het project moet succesvol worden gebouwd. Corrigeer eventuele buildfouten voordat u doorgaat.
Het vereiste kenmerk toevoegen
Dat is het einde van de code aan de foutopsporingsprogrammazijde. Er is echter nog een stap: het kenmerk dat de foutopsporingszijde aangeeft welke verzameling klassen de visualizer omvat.
Het type toevoegen dat moet worden gevisualiseerd voor de code aan de foutopsporingszijde
In de debuggercode geeft u het type op dat moet worden gevisualiseerd (de objectbron) voor de debuggee met behulp van het DebuggerVisualizerAttribute attribuut. Met de Target eigenschap wordt het type ingesteld dat moet worden gevisualiseerd.
Voeg de volgende kenmerkcode toe aan DebuggerSide.vb, na de
Importsinstructies maar vóórnamespace MyFirstVisualizer:<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>Klik in het menu Build op Build MyFirstVisualizer. Het project moet succesvol worden gebouwd. Corrigeer eventuele buildfouten voordat u doorgaat.
Een testharnas maken
Op dit moment is uw eerste visualisatie voltooid. Als u de stappen correct hebt gevolgd, kunt u de visualizer bouwen en installeren in Visual Studio. Voordat u een visualizer in Visual Studio installeert, moet u deze echter testen om ervoor te zorgen dat deze correct wordt uitgevoerd. U gaat nu een testharnas maken om de visualizer uit te voeren zonder deze in Visual Studio te installeren.
Een testmethode toevoegen om de visualizer weer te geven
Voeg de volgende methode toe aan klasse
public DebuggerSide:Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object) Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide)) visualizerHost.ShowVisualizer() End SubKlik in het menu Build op Build MyFirstVisualizer. Het project moet succesvol worden gebouwd. Corrigeer eventuele buildfouten voordat u doorgaat.
Vervolgens moet u een uitvoerbaar project maken om uw visualizer-DLL aan te roepen. Gebruik voor het gemak een consoletoepassingsproject.
Een consoletoepassingsproject toevoegen aan de oplossing
Klik in Solution Explorer met de rechtermuisknop op de oplossing, kies Toevoegen en klik vervolgens op Nieuw project.
Typ visual basic in het zoekvak, kies Sjablonen en kies vervolgens Een nieuwe console-app (.NET Framework) maken. Kies in het dialoogvenster dat verschijnt, Maak.
Typ een geschikte naam voor de klassebibliotheek, bijvoorbeeld
MyTestConsoleen klik vervolgens op Maken of OK.Nu moet u de benodigde verwijzingen toevoegen, zodat MyTestConsole MyFirstVisualizer kan aanroepen.
Benodigde verwijzingen toevoegen aan MyTestConsole
Klik in Solution Explorer met de rechtermuisknop op MyTestConsole en klik in het snelmenu op Verwijzing toevoegen.
Klik in het dialoogvenster Verwijzing toevoegen op het tabblad Bladeren op Microsoft.VisualStudio.DebuggerVisualizers.
Klik op OK.
Klik met de rechtermuisknop op MyTestConsole en klik nogmaals op Verwijzing toevoegen .
Klik in het dialoogvenster Verwijzing toevoegen op het tabblad Projecten en selecteer vervolgens MyFirstVisualizer.
Klik op OK.
Uw testharnas voltooien en uw visualizer testen
Nu voegt u de code toe om het testharnas te voltooien.
Code toevoegen aan MyTestConsole
Klik in Solution Explorer met de rechtermuisknop op Program.vb en klik in het snelmenu op Naam wijzigen.
Bewerk de naam van Module1.vb naar een geschikte naam, zoals TestConsole.vb.
U ziet dat Visual Studio de klassedeclaratie automatisch wijzigt in TestConsole.vb zodat deze overeenkomt met de nieuwe bestandsnaam.
In TestConsole. vb, voeg de volgende
Importsinstructie toe:Imports MyFirstVisualizerVoeg in de methode
Mainde volgende code toe:Dim myString As String = "Hello, World" DebuggerSide.TestShowVisualizer(myString)Nu bent u klaar om uw eerste visualizer te testen.
De visualizer testen
Klik in Solution Explorer met de rechtermuisknop op MyTestConsole en klik in het snelmenu op Instellen als opstartproject.
Klik in het menu Foutopsporing op Start.
De consoletoepassing wordt gestart. De visualizer verschijnt en toont de tekenreeks 'Hallo, wereld.'.
Gefeliciteerd. U hebt zojuist uw eerste visualisatie gebouwd en getest.
Als u uw visualisator in Visual Studio wilt gebruiken in plaats van deze alleen vanuit de testrunner aan te roepen, moet u deze installeren. Zie How to: Install a Visualizer (Een visualizer installeren) voor meer informatie.