Megosztás a következőn keresztül:


Útmutató: Vizualizáció írása a Visual Basicben

Fontos

A Visual Studio 2022 17.9-es verziójától kezdve a vizualizációk mostantól az új VisualStudio.Bővíthetőségi modellel futó .NET 6.0+-ban is írhatók. Az új modellel létrehozott bővítményeket a Visual Studio hibakereső vizualizációinak létrehozása című témakörben találja. Ha támogatnia kell a Visual Studio régebbi verzióit, vagy egy kódtár DLL-jének részeként szeretné szállítani az egyéni vizualizációkat, használja a cikkben található információkat, amelyek csak a bővítményfejlesztés régebbi modelljére (VSSDK) vonatkoznak.

Ez az útmutató bemutatja, hogyan írhat egyszerű vizualizációkat a Visual Basic használatával. Az ebben az útmutatóban létrehozott vizualizáció megjeleníti egy sztring tartalmát egy Windows Forms üzenetmező használatával. Ez az egyszerű sztringábrázoló egy egyszerű példa arra, hogyan hozhat létre vizualizációkat más, a projektekre jobban alkalmazható adattípusokhoz.

Megjegyzés:

A megjelenő párbeszédpanelek és menüparancsok eltérhetnek a súgóban leírtaktól az aktív beállításoktól vagy kiadástól függően. A beállítások módosításához nyissa meg az Eszközök menüt, és válassza az Importálás és exportálás lehetőséget. További információ: Beállítások visszaállítása.

A vizualizációs kódot olyan DLL-fájlba kell helyezni, amelyet a hibakereső beolvas. Az első lépés egy osztálytárprojekt létrehozása a DLL-hez.

Osztálytárprojekt létrehozása és előkészítése

Osztálytárprojekt létrehozása

  1. Hozzon létre egy új osztálytárprojektet.

    A kezdőablak bezárásához nyomja le Esc. A keresőmező megnyitásához írja be a Ctrl + Q billentyűkombinációt , írja be az osztálytárat, majd válassza ki a Visual Basic Class Library (.NET-keretrendszer) lehetőséget.

    A kezdőablak bezárásához nyomja le Esc. A keresőmező megnyitásához írja be a Ctrl + Q billentyűkombinációt , írja be a visual basic kifejezést, válassza a Sablonok lehetőséget, majd az Új osztálytár létrehozása (.NET-keretrendszer) lehetőséget.

  2. Írja be az osztálytár megfelelő nevét, például MyFirstVisualizer, majd kattintson a Létrehozás vagy az OK gombra.

    Amikor létrehozta az osztálytárat, hozzá kell adnia egy hivatkozást a Microsoft.VisualStudio.DebuggerVisualizers.DLL, hogy az ott meghatározott osztályokat használhassa. Először azonban a projektnek értelmes nevet kell adnia.

A Class1.vb átnevezése és a Microsoft.VisualStudio.DebuggerVisualizers hozzáadása

  1. A Megoldáskezelőben kattintson a jobb gombbal a Class1.vb fájlra, majd a helyi menüben kattintson az Átnevezés parancsra.

  2. Módosítsa a nevet Class1.vb valami értelmesre, például DebuggerSide.vb.

    Megjegyzés:

    A Visual Studio automatikusan módosítja az osztálydeklarációt DebuggerSide.vb az új fájlnévnek megfelelően.

  3. A Megoldáskezelőben kattintson a jobb gombbal a My First Visualizer elemre, majd a helyi menüben kattintson a Hivatkozás hozzáadása lehetőségre.

  4. A Hivatkozás hozzáadása párbeszédpanel Tallózás lapján válassza a Tallózás lehetőséget, és keresse meg a Microsoft.VisualStudio.DebuggerVisualizers.DLL.

    A DLL <a Visual Studio telepítési könyvtárának Visual Studio Install Directory>\Common7\IDE\PublicAssemblies alkönyvtárában található.

  5. Kattintson az OK gombra.

  6. A DebuggerSide.vb adja hozzá a következő utasítást az Imports utasításokhoz:

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Hibakereső oldali kód hozzáadása

Most már készen áll a hibakereső oldali kód létrehozására. Ez az a kód, amely a hibakeresőn belül fut a vizualizálni kívánt információk megjelenítéséhez. Először módosítania kell az DebuggerSide objektum deklarációját, hogy az az alaposztálytól DialogDebuggerVisualizerörököljön.

A DialogDebuggerVisualizerből való örökléshez

  1. A DebuggerSide.vb lépjen a következő kódsorra:

    Public Class DebuggerSide
    
  2. Szerkessze a kódot úgy, hogy az így nézzen ki:

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    Megjegyzés:

    A DialogDebuggerVisualizer a konstruktorában vár egy FormatterPolicy argumentumot. A .NET 5.0+ hibakereső oldalhoz kapcsolódó speciális szempontjaiban ismertetett biztonsági problémák miatt azonban a Visual Studio 2022 17.11-es verziójától kezdve a vizualizálók nem adhatják meg a Legacy formázó szabályzatot.

    DialogDebuggerVisualizer rendelkezik egy absztrakt metódussal, Show, amelyet felül kell bírálnia.

A DialogDebuggerVisualizer.Show metódus felülbírálása

  • Adja public class DebuggerSidehozzá a következő metódust:

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

    A Show metódus tartalmazza a vizualizáció párbeszédpanelt vagy más felhasználói felületet ténylegesen létrehozó kódot, és megjeleníti a vizualizációnak a hibakeresőtől kapott információkat. Hozzá kell adnia a párbeszédpanelt létrehozó kódot, és meg kell jelennie az információknak. Ebben az útmutatóban ezt egy Windows Forms üzenetmezővel teheti meg. Először hozzá kell adnia egy hivatkozást és egy Imports utasítást a(z) System.Windows.Forms számára.

System.Windows.Forms hozzáadása

  1. A Megoldáskezelőben kattintson a jobb gombbal a Hivatkozások elemre, majd a helyi menüben kattintson a Hivatkozás hozzáadása parancsra.

  2. A Hivatkozás hozzáadása párbeszédpanel Tallózás lapján válassza a Tallózás lehetőséget, és keresse meg a System.Windows.Forms.DLL.

    A DLL a C:\Windows\Microsoft.NET\Framework\v4.0.30319 fájlban található.

  3. Kattintson az OK gombra.

  4. A DebuggerSide.cs adja hozzá a következő utasítást az Imports utasításokhoz:

    Imports System.Windows.Forms
    

A vizualizáció felhasználói felületének létrehozása

Most hozzáad néhány kódot a vizualizáció felhasználói felületének létrehozásához és megjelenítéséhez. Mivel ez az első vizualizáció, a felhasználói felület egyszerű marad, és egy Üzenetdobozt fog használni.

A vizualizáció kimenetének megjelenítése párbeszédpanelen

  1. A(z) Show metódusban adja hozzá a következő kódsort:

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

    Ez a példakód nem tartalmaz hibakezelést. A hibakezelést egy valódi vizualizációban vagy bármilyen más típusú alkalmazásban is meg kell adnia.

  2. A Build menüben kattintson a Build MyFirstVisualizer elemre. A projektnek sikeresen létre kell épülnie. A folytatás előtt javítsa ki a buildelési hibákat.

Adja hozzá a szükséges attribútumot

Ez a hibakeresőoldali kód vége. Van azonban még egy lépés: az attribútum, amely jelzi a hibakeresési oldalt, hogy melyik osztálygyűjtemény tartalmazza a vizualizációt.

A hibakeresési oldali kód megjelenítendő típusának hozzáadása

A hibakeresőoldali kódban meg kell adnia a hibakeresés vizualizációjának típusát (az objektumforrást) az DebuggerVisualizerAttribute attribútum használatával. A Target tulajdonság a vizualizáció típusát állítja be.

  1. Adja hozzá a következő attribútumkódot a DebuggerSide.vb fájlhoz az Imports utasítások után, de a namespace MyFirstVisualizer elé.

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. A Build menüben kattintson a Build MyFirstVisualizer elemre. A projektnek sikeresen létre kell épülnie. A folytatás előtt javítsa ki a buildelési hibákat.

Tesztköteg létrehozása

Ekkor az első vizualizáció befejeződött. Ha helyesen követte a lépéseket, létrehozhatja a vizualizációt, és telepítheti a Visual Studióba. Mielőtt azonban vizualizációt telepít a Visual Studióba, tesztelje, hogy megfelelően fut-e. Most létrehoz egy tesztköteget a vizualizáció futtatásához anélkül, hogy a Visual Studióba telepíti.

Tesztmetódus hozzáadása a vizualizáció megjelenítéséhez

  1. Adja hozzá a következő metódust az osztályhoz public DebuggerSide:

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. A Build menüben kattintson a Build MyFirstVisualizer elemre. A projektnek sikeresen létre kell épülnie. A folytatás előtt javítsa ki a buildelési hibákat.

    Ezután létre kell hoznia egy végrehajtható projektet a vizualizációs DLL meghívásához. Az egyszerűség kedvéért használjon konzolalkalmazás-projektet.

Konzolalkalmazás-projekt hozzáadása a megoldáshoz

  1. A Megoldáskezelőben kattintson a jobb gombbal a megoldásra, válassza a Hozzáadás, majd az Új projekt parancsot.

    A Keresőmezőbe írja be az alapszintű vizualizációt, válassza a Sablonok lehetőséget, majd az Új konzolalkalmazás létrehozása (.NET-keretrendszer) lehetőséget. A megjelenő párbeszédpanelen válassza a Létrehozás lehetőséget.

  2. Írja be az osztálytár megfelelő nevét, például MyTestConsole, majd kattintson a Létrehozás vagy az OK gombra.

    Most hozzá kell adnia a szükséges hivatkozásokat, hogy a MyTestConsole meghívhassa a MyFirstVisualizert.

A MyTestConsole szükséges hivatkozásainak hozzáadása

  1. A Megoldáskezelőben kattintson a jobb gombbal a MyTestConsole elemre, majd a helyi menüben kattintson a Hivatkozás hozzáadása parancsra.

  2. A Hivatkozás hozzáadása párbeszédpanel Tallózás lapján kattintson a Microsoft.VisualStudio.DebuggerVisualizers elemre.

  3. Kattintson az OK gombra.

  4. Kattintson a jobb gombbal a MyTestConsole elemre, majd kattintson ismét a Hivatkozás hozzáadása parancsra .

  5. A Hivatkozás hozzáadása párbeszédpanelen kattintson a Projektek fülre, majd válassza a MyFirstVisualizer lehetőséget.

  6. Kattintson az OK gombra.

Fejezze be a tesztrendszert, és tesztelje a vizualizátort.

Most hozzáadja a kódot a tesztkeret befejezéséhez.

Kód hozzáadása a MyTestConsole-hoz

  1. A Megoldáskezelőben kattintson a jobb gombbal a Program.vb fájlra, majd a helyi menüben válassza az Átnevezés parancsot.

  2. Módosítsa az Module1.vb nevét egy megfelelőre, például TestConsole.vb.

    Figyelje meg, hogy a Visual Studio automatikusan módosítja az osztálydeklarációt TestConsole.vb az új fájlnévnek megfelelően.

  3. A TestConsole-ban. vb, adja hozzá a következő Imports utasítást:

    Imports MyFirstVisualizer
    
  4. A metódusban Mainadja hozzá a következő kódot:

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

    Most már készen áll az első vizualizáció tesztelésére.

A vizualizáció tesztelése

  1. A Megoldáskezelőben kattintson a jobb gombbal a MyTestConsole elemre, majd a helyi menüben kattintson a Beállítás indítási projektként parancsra.

  2. A Hibakeresés menüben kattintson a Start gombra.

    Elindul a konzolalkalmazás. A megjelenítő megjelenik, és megjeleníti a "Hello, World" szöveget.

    Gratulálok. Most építette ki és tesztelte az első vizualizálóját.

    Ha a vizualizációt a Visual Studióban szeretné használni ahelyett, hogy csak a tesztkötegből szeretné meghívni, telepítenie kell. További információért lásd: Hogyan telepítsünk vizualizálót.