Naviguer dans le code C++ dans Visual Studio
Visual Studio fournit une suite d’outils qui vous permettent de naviguer dans votre codebase rapidement et efficacement.
Ouvrir un fichier inclus
Cliquez avec le bouton de droite sur une directive #include
, puis sélectionnez Atteindre le document. Ou sélectionnez F12 avec le curseur sur cette ligne pour ouvrir le fichier.
Afficher ou masquer l’en-tête / le fichier de code
Vous pouvez basculer entre un fichier d’en-tête et son fichier source correspondant. Cliquez avec le bouton de droite n’importe où dans votre fichier, puis sélectionnez Afficher ou masquer l'en-tête / le fichier de code. Ou bien, vous pouvez également sélectionner Ctrl+K, Ctrl+O.
Accéder à la définition/déclaration
Vous pouvez accéder à la définition d’un élément de code en cliquant avec le bouton de droite dans l’éditeur et en sélectionnant Atteindre la définition ou en sélectionnant F12. Vous pouvez accéder à une déclaration de la même façon en cliquant avec le bouton de droite pour ouvrir le menu contextuel ou en sélectionnant Ctrl+F12.
Atteindre
Atteindre fait référence à un ensemble de fonctionnalités de navigation qui fournissent chacune un résultat spécifique basé sur des filtres que vous spécifiez.
Vous pouvez ouvrir Atteindre avec Ctrl+,. Cette action crée une zone de recherche au-dessus du document en cours de modification.
Atteindre inclut les filtres de recherche suivants :
- Atteindre la ligne (Ctrl+G) : passer rapidement à une autre ligne dans votre document actuel.
- Atteindre tout (Ctrl+,) ou (Ctrl+T) : les résultats de la recherche incluent tout ce qui suit.
- Accéder au fichier (Ctrl 1, F) : rechercher des fichiers dans votre solution.
- Atteindre le type (Ctrl 1, T) : les résultats de la recherche incluent :
- Classes, structs et énumérations.
- Interfaces et délégués (code managé uniquement).
- Atteindre le membre (Ctrl 1, M) : les résultats de la recherche incluent :
- Variables globales et fonctions globales.
- Variables membres de classe et fonctions membres.
- Constantes.
- Éléments d’énumération.
- Propriétés et événements.
- Atteindre le symbole (Ctrl 1, S) : les résultats de la recherche incluent :
- Résultats issus des recherches Atteindre les types et Atteindre les membres.
- Toutes les autres constructions de langage C++, y compris les macros.
Quand vous appelez Atteindre avec Ctrl + pour la première fois, Atteindre tout est activé (aucun filtre n’est appliqué aux résultats de la recherche). Vous pouvez ensuite sélectionner le filtre que vous souhaitez en utilisant les boutons près de la zone de recherche. Vous pouvez appeler un filtre spécifique à l’aide de son raccourci clavier. Cette action ouvre la zone de recherche Atteindre avec ce filtre présélectionné. Tous les raccourcis clavier sont configurables.
Pour appliquer un filtre de texte, démarrez votre requête de recherche avec le caractère correspondant du filtre suivi d’un espace. (Atteindre la ligne peut éventuellement omettre l’espace.) Les filtres de texte disponibles sont les suivants :
- Atteindre tout : (aucun filtre de texte)
- Atteindre un numéro de ligne spécifié : :
- Accéder au fichier : f
- Atteindre le type : t
- Atteindre le membre : m
- Atteindre le symbole : #
L’exemple suivant montre les résultats issus d’une opération Atteindre les fichiers utilisant le filtre « f » :
Pour afficher la liste des filtres de texte, tapez un caractère ? suivi d’un espace. Vous pouvez également accéder aux commandes Atteindre avec le menu Edition. C’est une autre façon de mémoriser les principaux raccourcis clavier Atteindre.
Rechercher ou Rechercher dans les fichiers
Vous pouvez exécuter une recherche de texte pour quoi que ce soit dans votre solution avec Rechercher ou (Ctrl+F) ou Rechercher dans les fichiers (Ctrl+Maj+F).
Rechercher peut être étendue à une sélection, au document actuel, à tous les documents ouverts, au projet actuel ou à l’ensemble de la solution. Vous pouvez utiliser des expressions régulières ainsi que du texte brut. En outre, la recherche met en évidence toutes les correspondances automatiquement dans l’IDE.
La fonctionnalité Rechercher dans les fichiers est une version plus puissante de la fonctionnalité Rechercher qui affiche les résultats dans la fenêtre Résultats de la recherche. Vous pouvez, entre autres, effectuer une recherche dans des dépendances de code externes et filtrer par types de fichiers.
Vous pouvez organiser les résultats de Rechercher dans les fichiers dans deux fenêtres. Vous pouvez rassembler les résultats de plusieurs recherches. Sélectionnez un résultat pour accéder à l’emplacement concerné dans le fichier.
Pour plus d’informations, consultez Rechercher dans les fichiers dans la documentation de Visual Studio.
Rechercher toutes les références
Pour rechercher toutes les utilisations d’un symbole dans votre codebase, placez le signe insertion dans ou juste après le symbole, puis cliquez avec le bouton de droite et sélectionnez Rechercher toutes les références. Vous pouvez filtrer, trier ou regrouper les résultats de différentes manières. Les résultats se remplissent de façon incrémentielle. Ils sont classés en tant que lectures ou écritures pour vous aider à voir ce que contient votre solution, par opposition aux en-têtes système ou aux autres bibliothèques.
Vous pouvez regrouper les résultats en fonction des catégories suivantes :
- Projet, puis définition
- Définition uniquement
- Définition, puis projet
- Définition, puis chemin
- Définition, projet, puis chemin
Filtrer les résultats
Pour filtrer les résultats, placez le curseur sur une colonne, puis sélectionnez l’icône de filtre qui s’affiche. Vous pouvez filtrer les résultats de la première colonne pour masquer des éléments que vous ne souhaitez peut-être pas voir, tels que les références de chaîne et de commentaire.
Résultats confirmés : références de code réelles au symbole faisant l’objet de la recherche. Par exemple, la recherche d’une fonction membre appelée
Size
retourne toutes les références àSize
qui correspondent à la portée de la classe définissantSize
.Résultats non confirmés : ce filtre est désactivé par défaut, car il affiche les symboles dont le nom correspond, mais qui ne sont pas des références réelles au symbole que vous recherchez. Par exemple, si vous avez deux classes qui définissent chacune une fonction membre appelée
Size
et que vous exécutez une recherche deSize
sur une référence à partir d’un objet deClass1
, toutes les références àSize
à partir deClass2
apparaissent comme étant non confirmées.Résultats non traités : les opérations Rechercher toutes les références peuvent prendre un certain temps sur les codes base plus grands ; ainsi, la liste des résultats affiche les résultats « non traités » ici. Les résultats non traités correspondent au nom du symbole faisant l’objet d’une recherche, mais qui n’ont pas encore été confirmés en tant que références de code réelles. Vous pouvez activer ce filtre pour obtenir des résultats plus rapidement. Certains résultats peuvent ne pas être des références réelles.
Trier les résultats
Vous pouvez trier les résultats en fonction de n’importe quelle colonne en la sélectionnant. Vous pouvez passer de l’ordre croissant à l’ordre décroissant en sélectionnant la colonne à nouveau.
Barre de navigation
Vous pouvez accéder à la définition d’un type dans un fichier ou à des membres de type, à l’aide de la Barre de navigation située au-dessus de la fenêtre de l’éditeur.