Partager via


Comprendre, naviguer et déboguer du code visuellement avec des plans de code

Vous pouvez mapper des relations du code avec Visual Studio final.Lorsque vous créez des cartes de code, elles s'affichent en regard de l'éditeur de code.Cela vous permet de vous concentrer sur votre tâche car vous pouvez consulter votre emplacement dans le code pendant que vous travaillez.

Code de mappage - Mapper les relations dans le code

Les mappages de code affichent des relations dans votre code et s'affichent en regard de l'éditeur de code. Une flèche verte indique la position du curseur dans le code. Vous pouvez faire des remarques sur une carte, comme du papier.

Les mappages de code permettent d'éviter d'obtenir perdues dans les bases de code, code inconnu, ou code hérité.Par exemple, lorsque vous déboguez, vous devrez peut-être examiner le code entre de nombreux fichiers et de projets.Les mappages de code vous permettent de naviguer autour de ces segments de code et à afficher les relations.Vous ne devez pas se souvenir tout ce code, effectuer le suivi des fichiers, ou dessiner un diagramme de papier distinct.Si vous devez interrompre votre travail, l'aide de tables de code actualisation de la mémoire sur le code que vous utilisez.

Mappages de code affiche dans l'action : Code complexe de fonctionnement avec le mappage de code (canal la 9)

Configuration requise

  • Visual Studio 2012,1 et un de ces éditions :

    • Visual Studio 2012 ultimate pour créer des cartes de code dans l'éditeur de code ou de l'explorateur de solutions.

      [!REMARQUE]

      Avant de partagiez des cartes avec d'autres personnes qui utilisent premium ou professional, assurez-vous que tous les éléments de la carte sont visibles, tels que les éléments masqués, les groupes développés, et des liens entre les groupes.

    • Visual Studio 2012 premium ou Visual Studio 2012 professional des cartes de code ouvert, entraînent des modifications mineures, et naviguent le code.

  • Une solution avec du code Visual c .NET ou Visual Basic .NET

Incluez le problème

Supposez qu'il existe un bogue dans un programme de dessin sur lequel vous travaillez.Pour reproduire le bogue, vous ouvrez la solution dans Visual Studio ultimate et appuyez F5 pour démarrer le débogage.

Lorsque vous dessinez une ligne et choisissez Supprimez mon dernier caractère, rien ne se produit que lorsque vous traciez la ligne suivante.

Code de mappage - Reproduire le bogue

Vous commencez à examiner lors de la recherche la méthode d' Undo .Vous la rechercher dans la classe d' PaintCanvas .

Code de mappage - Rechercher du code

Commencez à mapper le code

Maintenant vous commencez à mapper la méthode d' undo et ses relations.Dans l'éditeur de code, vous ajoutez la méthode d' undo les champs et qu'il référence à un nouveau mappage de code.Lorsque vous créez un nouveau mappage, cela peut prendre un certain temps pour indexer le code.Cela permet des opérations ultérieures pour s'exécuter plus rapidement.

Code de mappage - Afficher la méthode et les champs associés

ConseilConseil

Vert mise en surbrillance les affiche les derniers éléments ajoutés à la carte.La flèche verte indique la position du curseur dans le code.Les flèches situées entre les éléments représentent des relations.Vous pouvez obtenir plus d'informations sur les éléments de la carte en examinant les info-bulles.

Code de mappage - Afficher les info-bulles

Pour afficher la définition du code pour chaque champ, double-cliquez sur le champ dans le mappage, ou choisir le champ et appuyer F12.La flèche verte se déplace entre les éléments de mappage.Votre curseur dans l'éditeur de code déplace automatiquement.

Code de mappage - Examiner la définition de champ

Code de mappage - Examiner la définition de champ

ConseilConseil

Vous pouvez également déplacer la flèche verte sur le mappage en déplaçant le curseur dans l'éditeur de code.

Incluez les relations entre les segments de code

Maintenant vous souhaitez savoir que l'autre code interagit avec les champs d' history et d' paintObjects .Vous pouvez ajouter toutes les méthodes qui référencent ces champs au mappage.Vous pouvez le faire de la carte ou du code.

Code de mappage - Rechercher toutes les références

Modifier la disposition pour réorganiser le flux des relations et pour faciliter la carte pour lire.Vous pouvez également déplacer des éléments autour de la carte en les faisant glisser.

Code de mappage - Modifier la disposition

ConseilConseil

Par défaut, Disposition incrémentielle est activé.Cela réorganise la carte le moins possible lorsque vous ajoutez de nouveaux éléments.Pour réorganiser la carte entière chaque fois que vous ajoutez de nouveaux éléments, désactivez Disposition incrémentielle.

Code de mappage - Modifier la disposition

Examinons ces méthodes.Dans le mappage, double-cliquez sur la méthode PaintCanvas, ou choisissez cette méthode et appuyez F12.Vous apprenez à cette méthode crée history et paintObjects sous forme de listes vides.

Code de mappage - Examiner une définition de méthode

Répétez maintenant les mêmes étapes pour examiner la définition de méthode d' clear .Vous apprenez qu' clear effectue certaines tâches avec paintObjects et history.Il appelle ensuite la méthode d' Repaint .

Code de mappage - Examiner une définition de méthode

Examinez maintenant la définition de méthode d' addPaintObject .Il effectue également des tâches avec history et paintObjects.Il appelle également Repaint.

Code de mappage - Examiner une définition de méthode

Recherchez le problème en examinant la carte

Il semble que toutes les méthodes qui modifient history et l'appel Repaintd' paintObjects .Mais la méthode d' undo n'appelle pas Repaint, même si undo modifie les mêmes champs.Vous pensez que vous pouvez résoudre ce problème en appelant Repaint d' undo.

Code de mappage - Rechercher un appel de méthode manquant

Si vous n'aviez pas de mappage pour vous indiquer cet appel manquante, il aurait pu être plus difficile à rechercher ce problème, en particulier avec un code plus complexe.

Partager votre découverte et étapes suivantes

Avant de vous ou une autre personne corrige ce problème, vous pouvez faire des remarques sur la carte sur le problème et comment le résoudre.

Code de mappage - Commenter et signaler des éléments pour le suivi

Par exemple, vous pouvez ajouter des commentaires au mappage et signaler les éléments à l'aide de les couleurs.

Code de mappage - Éléments commentés et signalés

Si est installé Microsoft Outlook, vous pouvez envoyer par courrier électronique le mappage aux autres.Vous pouvez également exporter la carte comme une image ou format différent.

Code de mappage - Partager, exporter, envoyer par courrier électronique

Corrigez le problème et afficher ce que vous avez apportées

Pour résoudre ce bogue, vous ajoutez l'appel de Repaint à undo.

Code de mappage - Ajouter un appel de méthode manquant

Pour confirmer le correctif, vous redémarrez votre session de débogage et test pour reproduire le bogue.Choisir maintenant Supprimez mon dernier caractère vous fonctionne comme prévu en confirmant a effectué le correctif correct.

Code de mappage - Confirmer le correctif de code

Vous pouvez mettre à jour le plan pour afficher le correctif que vous avez apportées.

Code de mappage - Mettre à jour le mappage avec un appel de méthode manquant

Mappage affiche maintenant un lien entre Annuler et Le redessinez.

Code de mappage - Mappage mis à jour avec un appel de méthode

[!REMARQUE]

Lorsque vous mettez à jour le plan, vous pouvez afficher un message qui indique que l'index de code utilisé pour créer votre mappage a été mis à jour.Cela signifie que quelqu'un a modifié le code, ce qui entraîne ne pas correspondre à votre mappage le code en cours.Cela ne vous arrête pas de mettre à jour le plan, mais vous devrez peut-être recréer le mappage pour confirmer qu'elle correspond au code.

Maintenant vous avez terminé avec votre examen.Vous avez trouvé avec succès et avez résolu le problème en mappant le code.Vous avez également une carte qui vous naviguez autour de le code, mémoriser se ce que vous indique, et les affiche les étapes vous avez pris pour résoudre le problème.

Voir aussi

Concepts

Visualisation et description du code