Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Począwszy od Visual Studio 2022 w wersji 17.9, wizualizatory można teraz pisać na platformie .NET 6.0+, które działają poza procesem przy użyciu nowego modelu VisualStudio.Extensibility. Aby uzyskać rozszerzenia utworzone przy użyciu nowego modelu, zobacz dokumentację w temacie Tworzenie wizualizatorów debugera programu Visual Studio . Jeśli potrzebujesz obsługiwać starsze wersje programu Visual Studio lub chcesz dostarczyć niestandardowe wizualizatory w ramach biblioteki DLL, skorzystaj z informacji w tym artykule, które dotyczą tylko starszego modelu programowania rozszerzeń (VSSDK).
W tym przewodniku pokazano, jak napisać prosty wizualizator przy użyciu języka Visual Basic. Wizualizator utworzony w tym przewodniku wyświetla zawartość ciągu przy użyciu okna komunikatu Windows Forms. Ten prosty wizualizator ciągów to podstawowy przykład pokazujący, jak można tworzyć wizualizatory dla innych typów danych bardziej odpowiednie dla projektów.
Uwaga / Notatka
Wyświetlane okna dialogowe i polecenia menu mogą różnić się od poleceń opisanych w pomocy, w zależności od aktywnych ustawień lub edycji. Aby zmienić ustawienia, przejdź do menu Narzędzia i wybierz pozycję Importuj i Eksportuj . Aby uzyskać więcej informacji, zobacz Resetuj ustawienia.
Kod wizualizatora musi zostać umieszczony w dll, który będzie odczytywany przez debuger. Pierwszym krokiem jest utworzenie projektu biblioteki klas na potrzeby DLL.
Tworzenie i przygotowywanie projektu biblioteki klas
Aby utworzyć projekt biblioteki klas
Utwórz nowy projekt biblioteki klas.
Naciśnij Esc, aby zamknąć okno uruchamiania. Wpisz ctrl + Q , aby otworzyć pole wyszukiwania, wpisz bibliotekę klas, a następnie wybierz bibliotekę klas Visual Basic (.NET Framework).
Naciśnij Esc, aby zamknąć okno uruchamiania. Wpisz Ctrl + Q, aby otworzyć pole wyszukiwania, wpisz visual basic, wybierz pozycję Szablony, a następnie wybierz pozycję Utwórz nową bibliotekę klas (.NET Framework).
Wpisz odpowiednią nazwę biblioteki klas, na przykład
MyFirstVisualizer, a następnie kliknij przycisk Utwórz lub OK.Po utworzeniu biblioteki klas należy dodać odwołanie do Microsoft.VisualStudio.DebuggerVisualizers.DLL, aby można było użyć klas zdefiniowanych w tym miejscu. Najpierw należy jednak nadać projektowi zrozumiałą nazwę.
Aby zmienić nazwę Class1.vb i dodać microsoft.VisualStudio.DebuggerVisualizers
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy Class1.vb, a następnie w menu skrótów kliknij polecenie Zmień nazwę.
Zmień nazwę z Class1.vb na coś znaczącego, takiego jak DebuggerSide.vb.
Uwaga / Notatka
Program Visual Studio automatycznie zmienia deklarację klasy w DebuggerSide.vb, aby pasować do nowej nazwy pliku.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję Mój pierwszy wizualizator, a następnie w menu skrótów kliknij pozycję Dodaj odwołanie.
W oknie dialogowym Dodawanie odwołania na karcie Przeglądaj wybierz pozycję Przeglądaj i znajdź Microsoft.VisualStudio.DebuggerVisualizers.DLL.
Bibliotekę DLL można znaleźć w <katalogu instalacyjnym programu Visual Studio>\Common7\IDE\PublicAssemblies katalogu instalacyjnego programu Visual Studio.
Kliknij przycisk OK.
W pliku DebuggerSide.vb dodaj następującą instrukcję do instrukcji
Imports.Imports Microsoft.VisualStudio.DebuggerVisualizers
Dodaj kod po stronie debuggera
Teraz możesz utworzyć kod po stronie debugera. Jest to kod uruchamiany w debugerze w celu wyświetlenia informacji, które chcesz zwizualizować. Najpierw należy zmienić deklarację DebuggerSide obiektu, aby dziedziczyła z klasy DialogDebuggerVisualizerbazowej .
Aby dziedziczyć z DialogDebuggerVisualizer
W DebuggerSide.vb przejdź do następującego wiersza kodu:
Public Class DebuggerSideZmodyfikuj kod tak, aby wyglądał następująco:
Public Class DebuggerSide Inherits DialogDebuggerVisualizerUwaga / Notatka
DialogDebuggerVisualizer oczekuje argumentu
FormatterPolicyw konstruktorze. Jednak ze względu na problemy z zabezpieczeniami opisane w sekcji Specjalne zagadnienia po stronie debugera dla platformy .NET 5.0 lub nowszej, począwszy od programu Visual Studio 2022 w wersji 17.11, wizualizatory nie będą mogły określićLegacyzasad formatatora.DialogDebuggerVisualizerma jedną metodę abstrakcyjną ,Showktórą należy zastąpić.
Aby zastąpić metodę DialogDebuggerVisualizer.Show
W
public class DebuggerSidepliku dodaj następującą metodę:Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider) End SubMetoda
Showzawiera kod, który faktycznie tworzy okno dialogowe wizualizatora lub inny interfejs użytkownika, i wyświetla informacje przekazane do wizualizatora z debugera. Należy dodać kod, który tworzy okno dialogowe i wyświetlać informacje. W tym przewodniku wykonasz to za pomocą okna komunikatu Windows Forms. Najpierw należy dodać odwołanie iImportsoświadczenie dla elementu System.Windows.Forms.
Aby dodać System.Windows.Forms
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję Odwołania, a następnie w menu skrótów kliknij pozycję Dodaj odwołanie.
W oknie dialogowym Dodawanie odwołania na karcie Przeglądaj wybierz opcję Przeglądaj i znajdź System.Windows.Forms.DLL.
Bibliotekę DLL można znaleźć w folderze C:\Windows\Microsoft.NET\Framework\v4.0.30319.
Kliknij przycisk OK.
W DebuggerSide.cs dodaj następującą instrukcję do instrukcji
Imports:Imports System.Windows.Forms
Tworzenie interfejsu użytkownika wizualizatora
Teraz dodasz kod, aby utworzyć i pokazać interfejs użytkownika dla wizualizatora. Ponieważ jest to twój pierwszy wizualizator, zachowasz prosty interfejs użytkownika i użyjesz pola komunikatów.
Aby wyświetlić dane wyjściowe wizualizatora w oknie dialogowym
W metodzie
Showdodaj następujący wiersz kodu:MessageBox.Show(objectProvider.GetObject().ToString())Ten przykładowy kod nie zawiera obsługi błędów. Należy uwzględnić obsługę błędów w rzeczywistym wizualizatorze lub w dowolnej innej aplikacji.
W menu Kompilacja kliknij pozycję Kompiluj MyFirstVisualizer. Projekt powinien pomyślnie zostać skompilowany. Przed kontynuowaniem popraw wszelkie błędy kompilacji.
Dodawanie wymaganego atrybutu
To jest koniec kodu po stronie debugera. Istnieje jednak jeszcze jeden krok: atrybut, który informuje obiekt debugowany, która kolekcja klas tworzy wizualizator.
Aby dodać typ do wizualizacji kodu po stronie debugowania
W kodzie po stronie debugera należy określić typ do wizualizacji (źródła obiektu) debuggee przy użyciu atrybutu DebuggerVisualizerAttribute . Właściwość Target ustawia typ do wizualizacji.
Dodaj następujący kod atrybutu do DebuggerSide.vb, po elementach
Imports, ale przednamespace MyFirstVisualizer:<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>W menu Kompilacja kliknij pozycję Kompiluj MyFirstVisualizer. Projekt powinien pomyślnie zostać skompilowany. Przed kontynuowaniem popraw wszelkie błędy kompilacji.
Tworzenie uprzęży testowej
Na tym etapie pierwszy wizualizator jest gotowy. Jeśli wykonano kroki prawidłowo, możesz skompilować wizualizator i zainstalować go w programie Visual Studio. Przed zainstalowaniem wizualizatora w programie Visual Studio należy go jednak przetestować, aby upewnić się, że działa prawidłowo. Teraz utworzysz uprzężę testową, aby uruchomić wizualizator bez instalowania go w programie Visual Studio.
Aby dodać metodę testową w celu pokazania wizualizatora
Dodaj następującą metodę do klasy
public DebuggerSide:Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object) Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide)) visualizerHost.ShowVisualizer() End SubW menu Kompilacja kliknij pozycję Kompiluj MyFirstVisualizer. Projekt powinien pomyślnie zostać skompilowany. Przed kontynuowaniem popraw wszelkie błędy kompilacji.
Następnie należy utworzyć projekt wykonywalny w celu wywołania biblioteki DLL wizualizatora. Dla uproszczenia użyj projektu aplikacji konsolowej.
Aby dodać projekt aplikacji konsolowej do rozwiązania
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy rozwiązanie, wybierz polecenie Dodaj, a następnie kliknij pozycję Nowy projekt.
W polu Wyszukaj wpisz visual basic, wybierz pozycję Szablony, a następnie wybierz pozycję Utwórz nową aplikację konsolową (.NET Framework). W wyświetlonym oknie dialogowym wybierz pozycję Utwórz.
Wpisz odpowiednią nazwę biblioteki klas, na przykład
MyTestConsole, a następnie kliknij przycisk Utwórz lub OK.Teraz należy dodać niezbędne odwołania, aby aplikacja MyTestConsole mogła wywołać metodę MyFirstVisualizer.
Aby dodać niezbędne odwołania do MyTestConsole
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję MyTestConsole, a następnie w menu skrótów kliknij polecenie Dodaj odwołanie.
W oknie dialogowym Dodawanie odwołania na karcie Przeglądaj kliknij pozycję Microsoft.VisualStudio.DebuggerVisualizers.
Kliknij przycisk OK.
Kliknij prawym przyciskiem myszy pozycję MyTestConsole, a następnie ponownie kliknij polecenie Dodaj odwołanie .
W oknie dialogowym Dodawanie odwołania kliknij kartę Projekty, a następnie wybierz MyFirstVisualizer.
Kliknij przycisk OK.
Kończenie testu uprzężeń i testowanie wizualizatora
Teraz dodasz kod, aby zakończyć działanie uprzęży testowej.
Aby dodać kod do MyTestConsole
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy Program.vb, a następnie w menu skrótów kliknij polecenie Zmień nazwę.
Zmodyfikuj nazwę z Module1.vb na coś odpowiedniego, na przykład TestConsole.vb.
Zwróć uwagę, że program Visual Studio automatycznie zmienia deklarację klasy w TestConsole.vb, aby pasować do nowej nazwy pliku.
W obszarze TestConsole. vb, dodaj następującą
Importsinstrukcję:Imports MyFirstVisualizerW metodzie
Maindodaj następujący kod:Dim myString As String = "Hello, World" DebuggerSide.TestShowVisualizer(myString)Teraz możesz przystąpić do testowania pierwszego wizualizatora.
Aby przetestować wizualizator
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję MyTestConsole, a następnie w menu skrótów kliknij polecenie Ustaw jako projekt startowy.
W menu Debugowanie kliknij przycisk Start.
Zostanie uruchomiona aplikacja konsolowa. Wizualizator zostanie wyświetlony i wyświetli ciąg "Hello, World".
Gratulacje. Właśnie skompilowano i przetestowano pierwszy wizualizator.
Jeśli chcesz użyć wizualizatora w programie Visual Studio, a nie tylko wywołania go z uprzęży testowej, musisz go zainstalować. Aby uzyskać więcej informacji, zobacz How to: Install a Visualizer (Instrukcje: instalowanie wizualizatora).