Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
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).
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
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Class1.vb, puis, dans le menu contextuel, cliquez sur Renommer.
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.
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.
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.
Cliquez sur OK.
Dans DebuggerSide.vb, ajoutez l’instruction suivante aux
Importsinstructions :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
Dans DebuggerSide.vb, accédez à la ligne de code suivante :
Public Class DebuggerSideModifiez le code pour qu’il ressemble à ceci :
Public Class DebuggerSide Inherits DialogDebuggerVisualizerNote
DialogDebuggerVisualizer attend un
FormatterPolicyargument 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 formatteurLegacy.DialogDebuggerVisualizera 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 SubLa
Showmé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éclarationImportspour System.Windows.Forms.
Pour ajouter System.Windows.Forms
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.
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.
Cliquez sur OK.
Dans DebuggerSide.cs, ajoutez l’instruction suivante aux
Importsinstructions :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
Dans la
Showmé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.
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.
Ajoutez le code d’attribut suivant à DebuggerSide.vb, après les
Importsinstructions, mais avantnamespace MyFirstVisualizer:<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>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
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 SubDans 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
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.
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
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur MyTestConsole, puis, dans le menu contextuel, cliquez sur Ajouter une référence.
Dans la boîte de dialogue Ajouter une référence , sous l’onglet Parcourir , cliquez sur Microsoft.VisualStudio.DebuggerVisualizers.
Cliquez sur OK.
Cliquez avec le bouton droit sur MyTestConsole, puis cliquez à nouveau sur Ajouter une référence .
Dans la boîte de dialogue Ajouter une référence , cliquez sur l’onglet Projets , puis sélectionnez MyFirstVisualizer.
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
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Program.vb, puis, dans le menu contextuel, cliquez sur Renommer.
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.
Dans TestConsole. vb, ajoutez l’instruction suivante
Imports:Imports MyFirstVisualizerDans 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
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.
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.