Sdílet prostřednictvím


Návod: Zápis vizualizéru v jazyce Visual Basic

Důležité

Počínaje verzí 17.9 sady Visual Studio 2022 je nyní možné psát vizualizéry v .NET 6.0 nebo novějším, které běží mimo proces díky novému modelu VisualStudio.Extensibility. Informace o rozšířeních vytvořených pomocí nového modelu najdete v dokumentaci k vizualizérům ladicího programu sady Visual Studio . Pokud potřebujete podporovat starší verze sady Visual Studio nebo chcete odeslat vlastní vizualizéry jako součást knihovny DLL, použijte informace v tomto článku, které platí jenom pro starší model vývoje rozšíření (VSSDK).

Tento návod ukazuje, jak pomocí jazyka Visual Basic napsat jednoduchý vizualizér. Vizualizér, který vytvoříte v tomto názorném postupu, zobrazí obsah řetězce pomocí okna se zprávou Windows Forms. Tento jednoduchý vizualizér řetězců je základním příkladem, který ukazuje, jak můžete vytvářet vizualizéry pro jiné datové typy, které jsou pro vaše projekty vhodnější.

Poznámka:

Zobrazená dialogová okna a příkazy nabídek se můžou lišit od těch, které jsou popsány v nápovědě, v závislosti na vašem aktivním nastavení nebo verzi. Pokud chcete změnit nastavení, přejděte do nabídky Nástroje a zvolte Importovat a exportovat . Další informace naleznete v tématu resetování nastavení.

Kód vizualizéru musí být umístěn v knihovně DLL, kterou bude číst ladicí program. Prvním krokem je vytvoření projektu knihovny tříd pro knihovnu DLL.

Vytvoření a příprava projektu knihovny tříd

Vytvořit projekt knihovny tříd

  1. Vytvořte nový projekt knihovny tříd.

    Stisknutím klávesy Esc zavřete úvodní okno. Stiskněte Ctrl + Q pro otevření vyhledávacího pole, zadejte knihovna tříd a poté vyberte Knihovna tříd jazyka Visual Basic (.NET Framework).

    Stisknutím klávesy Esc zavřete úvodní okno. Stiskněte Ctrl + Q pro otevření vyhledávacího pole, zadejte visual basic, zvolte Šablony a pak zvolte Vytvořit novou knihovnu tříd (.NET Framework).

  2. Zadejte odpovídající název knihovny tříd, například MyFirstVisualizer, a klepněte na tlačítko Vytvořit nebo OK.

    Když jste vytvořili knihovnu tříd, musíte přidat odkaz na Microsoft.VisualStudio.DebuggerVisualizers.DLL, abyste mohli použít třídy definované tam. Nejdřív ale projektu pojmenujete smysluplný název.

Přejmenovat Class1.vb a přidat Microsoft.VisualStudio.DebuggerVisualizers

  1. V Průzkumníku řešení klikněte pravým tlačítkem na Class1.vb a v místní nabídce klikněte na Přejmenovat.

  2. Změňte název z Class1.vb na něco smysluplného, například DebuggerSide.vb.

    Poznámka:

    Visual Studio automaticky změní deklaraci třídy v DebuggerSide.vb tak, aby odpovídala novému názvu souboru.

  3. V Průzkumníku řešení klikněte pravým tlačítkem myši na Můj první vizualizér a v místní nabídce klikněte na Přidat odkaz.

  4. V dialogovém okně Přidat odkaz na kartě Procházet vyberte Procházet a vyhledejte Microsoft.VisualStudio.DebuggerVisualizers.DLL.

    Knihovnu DLL najdete v <instalačním adresáři>Visual Studio\Common7\IDE\PublicAssemblies podadresáři aplikace Visual Studio.

  5. Klikněte na OK.

  6. V DebuggerSide.vb přidejte do Imports příkazů následující příkaz:

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Přidejte kód na straně ladicího programu

Nyní jste připraveni vytvořit kód na straně debuggeru. Toto je kód, který se spouští v ladicím programu, aby se zobrazily informace, které chcete vizualizovat. Nejprve musíte změnit deklaraci objektu DebuggerSide tak, aby dědila ze základní třídy DialogDebuggerVisualizer.

Dědění z DialogDebuggerVisualizer

  1. V DebuggerSide.vb přejděte na následující řádek kódu:

    Public Class DebuggerSide
    
  2. Upravte kód tak, aby vypadal takto:

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    Poznámka:

    DialogDebuggerVisualizer očekává FormatterPolicy argument v jeho konstruktoru. Vzhledem k problémům se zabezpečením popsaným ve speciálních úvahách na straně ladicího programu pro .NET 5.0+ ale počínaje verzí Visual Studio 2022 verze 17.11 nebudou vizualizéry moct určit Legacy politiku formátovače.

    DialogDebuggerVisualizer má jednu abstraktní metodu, Showkterou je nutné přepsat.

Chcete-li přepsat metodu DialogDebuggerVisualizer.Show

  • Do public class DebuggerSidepole přidejte následující metodu:

    Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)
    
        End Sub
    

    Tato Show metoda obsahuje kód, který ve skutečnosti vytvoří dialogové okno vizualizéru nebo jiné uživatelské rozhraní, a zobrazí informace, které byly předány vizualizéru z ladicího programu. Musíte přidat kód, který vytvoří dialogové okno a zobrazí informace. V tomto názorném postupu to provedete pomocí okna se zprávou Windows Forms. Nejprve musíte přidat odkaz a Imports příkaz pro System.Windows.Forms.

Přidat System.Windows.Forms

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na Odkazy a v místní nabídce klepněte na příkaz Přidat odkaz.

  2. V dialogovém okně Přidat odkaz na kartě Procházet vyberte Procházet a vyhledejte System.Windows.Forms.DLL.

    Knihovnu DLL najdete v C:\Windows\Microsoft.NET\Framework\v4.0.30319.

  3. Klikněte na OK.

  4. V DebuggerSide.cs přidejte do Imports příkazů následující příkaz:

    Imports System.Windows.Forms
    

Vytvoření uživatelského rozhraní vizualizéru

Teď přidáte kód pro vytvoření a zobrazení uživatelského rozhraní vizualizéru. Vzhledem k tomu, že toto je váš první vizualizér, uživatelské rozhraní zůstane jednoduché a použijete okno se zprávou.

Zobrazení výstupu vizualizéru v dialogovém okně

  1. Show Do metody přidejte následující řádek kódu:

    MessageBox.Show(objectProvider.GetObject().ToString())
    

    Tento ukázkový kód nezahrnuje zpracování chyb. Zpracování chyb byste měli zahrnout do skutečného vizualizéru nebo jakéhokoli jiného typu aplikace.

  2. V nabídce Sestavení klepněte na tlačítko Sestavit MyFirstVisualizer. Projekt by se měl úspěšně sestavit. Před pokračováním opravte všechny chyby sestavení.

Přidání nezbytného atributu

To je konec kódu na straně ladicího programu. Existuje však ještě jeden krok: atribut, který říká straně laděného kódu, kterou kolekci tříd vizualizér tvoří.

Přidání typu pro vizualizaci kódu na straně ladění

V kódu debuggeru určíte typ (zdroj objektu), který chcete vizualizovat pro ladicí program pomocí atributu DebuggerVisualizerAttribute. Vlastnost Target nastaví typ pro vizualizaci.

  1. Přidejte následující kód atributu do DebuggerSide.vb za Imports příkazy, ale před namespace MyFirstVisualizer:

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. V nabídce Sestavení klepněte na tlačítko Sestavit MyFirstVisualizer. Projekt by se měl úspěšně sestavit. Před pokračováním opravte všechny chyby sestavení.

Vytvoření testovacího rámce

V tuto chvíli je dokončen první vizualizér. Pokud jste postupovali správně, můžete vizualizér sestavit a nainstalovat ho do sady Visual Studio. Před instalací vizualizéru do sady Visual Studio byste ho ale měli otestovat, abyste měli jistotu, že běží správně. Teď vytvoříte testovací sadu pro spuštění vizualizéru bez jeho instalace do sady Visual Studio.

Přidání testovací metody pro zobrazení vizualizéru

  1. Do třídy public DebuggerSidepřidejte následující metodu:

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. V nabídce Sestavení klepněte na tlačítko Sestavit MyFirstVisualizer. Projekt by se měl úspěšně sestavit. Před pokračováním opravte všechny chyby sestavení.

    Dále musíte vytvořit spustitelný projekt pro volání knihovny DLL vizualizéru. Pro zjednodušení použijte projekt konzolové aplikace.

Přidání projektu konzolové aplikace do řešení

  1. V Průzkumníku řešení klikněte pravým tlačítkem na řešení, zvolte Přidat a potom klikněte na Nový projekt.

    Do vyhledávacího pole zadejte visual basic, zvolte Šablony a pak zvolte Vytvořit novou konzolovou aplikaci (.NET Framework). V zobrazeném dialogovém okně zvolte Vytvořit.

  2. Zadejte odpovídající název knihovny tříd, například MyTestConsole, a klepněte na tlačítko Vytvořit nebo OK.

    Teď musíte přidat potřebné odkazy, aby MyTestConsole mohl volat MyFirstVisualizer.

Přidání nezbytných odkazů na MyTestConsole

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na MyTestConsole a v místní nabídce klikněte na Přidat odkaz.

  2. V dialogovém okně Přidat odkaz na kartě Procházet klikněte na Microsoft.VisualStudio.DebuggerVisualizers.

  3. Klikněte na OK.

  4. Klikněte pravým tlačítkem myši na MyTestConsole a potom znovu klepněte na tlačítko Přidat odkaz .

  5. V dialogovém okně Přidat odkaz klepněte na kartu Projekty a pak vyberte MyFirstVisualizer.

  6. Klikněte na OK.

Dokončete svůj testovací rámec a otestujte svůj vizualizér

Teď přidáte kód pro dokončení testovacího rámce.

Přidání kódu do MyTestConsole

  1. V Průzkumníku řešení klikněte pravým tlačítkem na Program.vb a v místní nabídce klikněte na Přejmenovat.

  2. Upravte název z Module1.vb na něco vhodného, například TestConsole.vb.

    Všimněte si, že Visual Studio automaticky změní deklaraci třídy v TestConsole.vb tak, aby odpovídala novému názvu souboru.

  3. V TestConsole. vb, přidejte následující Imports příkaz:

    Imports MyFirstVisualizer
    
  4. V metodě Mainpřidejte následující kód:

    Dim myString As String = "Hello, World"
    DebuggerSide.TestShowVisualizer(myString)
    

    Teď jste připraveni otestovat svůj první vizualizér.

Otestování vizualizéru

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši MyTestConsole a v místní nabídce klepněte na příkaz Nastavit jako spouštěný projekt.

  2. V nabídce Ladění klepněte na tlačítko Start.

    Spustí se konzolová aplikace. Zobrazí se vizualizér a zobrazí řetězec "Hello, World".

    Blahopřejeme. Právě jste vytvořili a otestovali svůj první vizualizér.

    Pokud chcete použít vizualizér v sadě Visual Studio, musíte ho nainstalovat místo pouhého volání z testovacího prostředí. Další informace naleznete v tématu Postupy: Instalace vizualizéru.