Partager via


Procédure pas à pas : écriture d’un visualiseur en Visual Basic

Important

À compter de Visual Studio 2022 version 17.9, les visualiseurs peuvent désormais être écrits dans .NET 6.0+ qui s’exécutent hors processus à l’aide du nouveau modèle VisualStudio.Extensibility. Pour les extensions créées à l’aide du nouveau modèle, consultez la documentation de Créer des visualiseurs de débogueur Visual Studio à la place. Si vous devez prendre en charge les versions antérieures de Visual Studio ou si vous souhaitez expédier vos visualiseurs personnalisés dans le cadre d’une DLL de bibliothèque, utilisez les informations de cet article, qui s’appliquent uniquement au modèle plus ancien de développement d’extension (VSSDK).

Cette procédure pas à pas montre comment écrire un visualiseur simple à l’aide de Visual Basic. Le visualiseur que vous allez créer dans cette procédure pas à pas affiche le contenu d’une chaîne à l’aide d’une boîte de message Windows Forms. Ce visualiseur de chaîne simple est un exemple de base pour montrer comment vous pouvez créer des visualiseurs pour d’autres types de données plus applicables à vos projets.

Note

Les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles décrites dans l’aide, selon vos paramètres actifs ou édition. Pour modifier vos paramètres, accédez au menu Outils et choisissez Importer et Exporter . Pour plus d’informations, consultez Réinitialiser les paramètres.

Le code du visualiseur doit être placé dans une DLL qui sera lue par le débogueur. La première étape consiste à créer un projet de bibliothèque de classes pour la DLL.

Créer et préparer un projet de bibliothèque de classes

Pour créer un projet de bibliothèque de classes

  1. Créez un projet de bibliothèque de classes.

    Appuyez sur Échap pour fermer la fenêtre de démarrage. Tapez Ctrl + Q pour ouvrir la zone de recherche, tapez bibliothèque de classes, puis sélectionnez la Bibliothèque de classes Visual Basic (.NET Framework).

  2. Tapez un nom approprié pour la bibliothèque de classes, par MyFirstVisualizerexemple, puis cliquez sur Créer ou OK.

    Lorsque vous avez créé la bibliothèque de classes, vous devez ajouter une référence à Microsoft.VisualStudio.DebuggerVisualizers.DLL, afin de pouvoir utiliser les classes définies ici. Tout d’abord, vous donnez un nom explicite à votre projet.

Pour renommer Class1.vb et ajouter Microsoft.VisualStudio.DebuggerVisualizers

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Class1.vb, puis, dans le menu contextuel, cliquez sur Renommer.

  2. Remplacez le nom de Class1.vb par quelque chose de significatif, par exemple DebuggerSide.vb.

    Note

    Visual Studio modifie automatiquement la déclaration de classe dans DebuggerSide.vb pour qu’elle corresponde au nouveau nom de fichier.

  3. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Mon premier visualiseur, puis, dans le menu contextuel, cliquez sur Ajouter une référence.

  4. Dans la boîte de dialogue Ajouter une référence , sous l’onglet Parcourir , sélectionnez Parcourir et recherchez la Microsoft.VisualStudio.DebuggerVisualizers.DLL.

    Vous trouverez la DLL dans le sous-répertoire < du répertoire d’installation de Visual Studio.

  5. Cliquez sur OK.

  6. Dans DebuggerSide.vb, ajoutez l’instruction suivante aux Imports instructions :

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Ajouter le code côté débogueur

Vous êtes maintenant prêt à créer le code côté débogueur. Il s’agit du code qui s’exécute dans le débogueur pour afficher les informations que vous souhaitez visualiser. Tout d’abord, vous devez modifier la déclaration de l’objet DebuggerSide afin qu’il hérite de la classe DialogDebuggerVisualizerde base .

Pour hériter de DialogDebuggerVisualizer

  1. Dans DebuggerSide.vb, accédez à la ligne de code suivante :

    Public Class DebuggerSide
    
  2. Modifiez le code pour qu’il ressemble à ceci :

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

    Note

    DialogDebuggerVisualizer attend un FormatterPolicy argument dans son constructeur. Toutefois, en raison des problèmes de sécurité décrits dans les considérations spéciales pour le débogueur sous .NET 5.0+, à partir de Visual Studio 2022 version 17.11, les visualiseurs ne pourront pas spécifier la politique du formatteur Legacy.

    DialogDebuggerVisualizer a une méthode abstraite, Showque vous devez remplacer.

Pour remplacer la méthode DialogDebuggerVisualizer.Show

  • Dans public class DebuggerSide, ajoutez la méthode suivante :

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

    La Show méthode contient le code qui crée réellement la boîte de dialogue visualiseur ou une autre interface utilisateur et affiche les informations transmises au visualiseur à partir du débogueur. Vous devez ajouter le code qui crée la boîte de dialogue et afficher les informations. Dans cette procédure pas à pas, vous allez le faire à l’aide d’une boîte de message Windows Forms. Tout d’abord, vous devez ajouter une référence et une déclaration Imports pour System.Windows.Forms.

Pour ajouter System.Windows.Forms

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Références, puis, dans le menu contextuel, cliquez sur Ajouter une référence.

  2. Dans la boîte de dialogue Ajouter une référence , sous l’onglet Parcourir , sélectionnez Parcourir et recherchez la System.Windows.Forms.DLL.

    Vous trouverez la DLL dans C :\Windows\Microsoft.NET\Framework\v4.0.30319.

  3. Cliquez sur OK.

  4. Dans DebuggerSide.cs, ajoutez l’instruction suivante aux Imports instructions :

    Imports System.Windows.Forms
    

Créer l’interface utilisateur de votre visualiseur

Vous allez maintenant ajouter du code pour créer et afficher l’interface utilisateur de votre visualiseur. Comme il s’agit de votre premier visualiseur, vous allez simplifier l’interface utilisateur et utiliser une boîte de message.

Pour afficher la sortie du visualiseur dans une boîte de dialogue

  1. Dans la Show méthode, ajoutez la ligne de code suivante :

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

    Cet exemple de code n’inclut pas la gestion des erreurs. Vous devez inclure la gestion des erreurs dans un visualiseur réel ou tout autre type d’application.

  2. Dans le menu Générer , cliquez sur Générer MyFirstVisualizer. Le projet devrait être compilé avec succès. Corrigez les erreurs de build avant de continuer.

Ajouter l’attribut nécessaire

Il s’agit de la fin du code côté débogueur. Toutefois, il existe une étape supplémentaire : l’attribut qui indique au côté débogage quelle collection de classes comprend le visualiseur.

Pour ajouter le type à visualiser pour le code côté débogage

Dans le code côté débogueur, vous spécifiez le type à visualiser (la source de l’objet) pour le débogueur à l’aide de l’attribut DebuggerVisualizerAttribute . La Target propriété définit le type à visualiser.

  1. Ajoutez le code d’attribut suivant à DebuggerSide.vb, après les Imports instructions, mais avant namespace MyFirstVisualizer:

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. Dans le menu Générer , cliquez sur Générer MyFirstVisualizer. Le projet devrait être compilé avec succès. Corrigez les erreurs de build avant de continuer.

Créer un Harnais de test

À ce stade, votre premier visualiseur est terminé. Si vous avez suivi correctement les étapes, vous pouvez générer le visualiseur et l’installer dans Visual Studio. Avant d’installer un visualiseur dans Visual Studio, vous devez toutefois le tester pour vous assurer qu’il s’exécute correctement. Vous allez maintenant créer un harnais de test pour exécuter le visualiseur sans l’installer dans Visual Studio.

Pour ajouter une méthode de test pour afficher le visualiseur

  1. Ajoutez la méthode suivante à la classe public DebuggerSide:

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. Dans le menu Générer , cliquez sur Générer MyFirstVisualizer. Le projet devrait être compilé avec succès. Corrigez les erreurs de build avant de continuer.

    Ensuite, vous devez créer un projet exécutable pour appeler votre DLL de visualiseur. Par souci de simplicité, utilisez un projet d’application console.

Pour ajouter un projet d’application console à la solution

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur la solution, choisissez Ajouter, puis cliquez sur Nouveau projet.

    Dans la zone de recherche, tapez visual basic, choisissez Modèles, puis créez une application console (.NET Framework) . Dans la boîte de dialogue qui s’affiche, choisissez Créer.

  2. Tapez un nom approprié pour la bibliothèque de classes, par MyTestConsoleexemple, puis cliquez sur Créer ou OK.

    À présent, vous devez ajouter les références nécessaires pour que MyTestConsole puisse appeler MyFirstVisualizer.

Pour ajouter des références nécessaires à MyTestConsole

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur MyTestConsole, puis, dans le menu contextuel, cliquez sur Ajouter une référence.

  2. Dans la boîte de dialogue Ajouter une référence , sous l’onglet Parcourir , cliquez sur Microsoft.VisualStudio.DebuggerVisualizers.

  3. Cliquez sur OK.

  4. Cliquez avec le bouton droit sur MyTestConsole, puis cliquez à nouveau sur Ajouter une référence .

  5. Dans la boîte de dialogue Ajouter une référence , cliquez sur l’onglet Projets , puis sélectionnez MyFirstVisualizer.

  6. Cliquez sur OK.

Terminer votre harnais de test et tester votre visualiseur

À présent, vous allez ajouter le code pour terminer le harnais de test.

Pour ajouter du code à MyTestConsole

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Program.vb, puis, dans le menu contextuel, cliquez sur Renommer.

  2. Modifiez le nom de Module1.vb par quelque chose de plus approprié, tel que TestConsole.vb.

    Notez que Visual Studio modifie automatiquement la déclaration de classe dans TestConsole.vb pour qu’elle corresponde au nouveau nom de fichier.

  3. Dans TestConsole. vb, ajoutez l’instruction suivante Imports :

    Imports MyFirstVisualizer
    
  4. Dans la méthode Main, ajoutez le code suivant :

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

    Vous êtes maintenant prêt à tester votre premier visualiseur.

Pour tester le visualiseur

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur MyTestConsole, puis, dans le menu contextuel, cliquez sur Définir comme projet de démarrage.

  2. Dans le menu Débogage , cliquez sur Démarrer.

    L’application console démarre. Le visualiseur apparaît et affiche la chaîne « Hello, World ».

    Félicitations. Vous venez de créer et de tester votre premier visualiseur.

    Si vous souhaitez utiliser votre visualiseur dans Visual Studio plutôt que simplement l’appeler à partir du harnais de test, vous devez l’installer. Pour plus d’informations, consultez Guide pratique pour installer un visualiseur.