Recherche de code fonctionnel
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Recherchez le code dont vous avez besoin plus rapidement avec la recherche de code fonctionnel. Cet article explique comment affiner votre recherche entre les référentiels à l’aide de types de code et d’autres fonctions avec l’extension recherche de code Place de marché
Conditions préalables
- Niveaux d’accès :
- Accès de base:
- Pour utiliser la recherche de code, disposez au moins d’un accès de base.
- Pour accéder au code dans un projet privé, disposez au moins d’un accès de base.
- Accès de partie prenante :
- Les utilisateurs disposant d’un accès aux parties prenantes n’ont pas accès au code, de sorte qu’ils ne peuvent pas rechercher de code.
- Les utilisateurs disposant d’un accès des parties prenantes pour un projet public ont un accès complet au code, afin qu’ils puissent rechercher du code.
- Accès de base:
- Résultats de la recherche :
- résultats basés sur Access : Lorsque vous effectuez une recherche dans l’organisation ou la collection, seuls les résultats pour lesquels un membre du projet a accès sont répertoriés.
- Niveaux d’accès :
- Accès de base :
- Pour utiliser la recherche de code, disposez au moins d’un accès de base.
- Pour accéder au code dans un projet privé, disposez au moins d’un accès de base.
- Accès aux parties prenantes :
- Les utilisateurs disposant d’un accès aux parties prenantes n’ont pas accès au code, de sorte qu’ils ne peuvent pas rechercher de code.
- Accès de base :
- Résultats de la recherche :
- résultats basés sur Access : Lorsque vous effectuez une recherche dans l’organisation ou la collection, seuls les résultats pour lesquels un membre du projet a accès sont répertoriés.
- Outils :
- Installez Code Search.
Meilleures pratiques de recherche de code
- Démarrer large : Commencer par une recherche étendue, puis utiliser des opérateurs de filtre pour le limiter par projet, référentiel, chemin d’accès, nom de fichier, etc.
- Utilisez des caractères génériques et des opérateurs booléens: Si vous ne connaissez pas le terme exact, utilisez des caractères génériques pour élargir votre recherche et des opérateurs booléens pour la préciser.
- Pointage pour plus d’informations : Pour obtenir plus d’informations sur un élément de code, pointez dessus et utilisez le menu contextuel pour rechercher ce texte dans tous vos projets et fichiers.
- fonctionnalité de code de trace : Utilisez le menu contextuel pour rechercher des éléments connexes tels que des définitions et des références dans un fichier ou dans les résultats de recherche pour suivre le fonctionnement de votre code.
- Utiliser des filtres de type de code : Pour rechercher l’implémentation d’une API ou d’un autre élément de code, utilisez des filtres de type de code pour rechercher des types de code spécifiques tels que :
- Définitions
- Références
- Fonctions
- Commentaires
- Chaînes
- Espaces de noms, et plus encore
Remarque
La recherche de code ne fonctionne pas pour les référentiels forked.
Fonctions permettant de rechercher des types de code spécifiques
Pour créer votre requête plus rapidement, choisissez des fonctions et des mots clés dans la liste déroulante lorsque vous entrez du texte. Sélectionnez Afficher plus de pour afficher toutes les options. Vous pouvez combiner différentes fonctions en fonction des besoins.
Vous pouvez également utiliser des filtres à partir de la colonne gauche pour affiner votre recherche. Afficher plus affiche toutes les fonctions et mots clés.
Vous pouvez également taper les fonctions et les paramètres dans la zone de recherche. Le tableau suivant répertorie les fonctions permettant de rechercher des types ou des membres spécifiques dans votre code C#, C, C++, Java et Visual Basic.NET.
Pour trouver du code où findThis apparaît sous la forme d’un(e) ... | ... rechercher l’argument arg :findThis |
---|---|
Argument | arg :findThisDeprecated in July 2019 |
Type de base | basetype :findThis |
Fonction appelante | caller :findThisDeprecated in July 2019 |
Définition ou déclaration de classe | class :findThis |
Déclaration de classe | classdecl :findThisMerged with class: |
Définition de classe | classdef :findThisMerged with class: |
Commentaire | comment :findThis |
Constructeur | ctor :findThisMerged with method: |
Déclaration | decl :findThis |
Définition | def :findThis |
Destructeur | dtor :findThisMerged with method: |
Énumérateur | enum :findThis |
Extern | extern :findThisDeprecated in July 2019 |
Champ | field :findThis |
Fonction friend | friend :findThisDeprecated in July 2019 |
Fonction | func :findThisMerged with method: |
Déclaration de fonction | funcdecl :findThisMerged with method: |
Définition de fonction | funcdef :findThisMerged with method: |
Mondial | global :findThisDeprecated in July 2019 |
Header | header :findThisDeprecated in July 2019 |
Interface | interface :findThis |
Macro | macro :findThis |
Définition de macro | macrodef :findThisMerged with macro: |
Référence macro | macroref :findThisMerged with macro: |
Méthode | method :findThis |
Déclaration de méthode | methoddecl :findThisMerged with method: |
Définition de méthode | methoddef :findThisMerged with method: |
Namespace | namespace :findThis |
Propriété | prop :findThis |
Référence | ref :findThis |
Littéral de chaîne | strlit :findThis |
Struct | struct :findThisMerged with type: |
Déclaration de structure | structdecl :findThisMerged with type: |
Définition de la structure | structdef :findThisMerged with type: |
Argument de modèle | tmplarg :findThisDeprecated in July 2019 |
Spécification du modèle | tmplspec :findThisDeprecated in July 2019 |
Type | type :findThis |
Typedef | typedef :findThisMerged with type: |
Union | union :findThisDeprecated in July 2019 |
Fonctions permettant de sélectionner des projets, des référentiels, des chemins d’accès et des fichiers
Les fonctions permettent d’affiner facilement la recherche à des emplacements spécifiés, à des types spécifiques de fichiers dans ces emplacements ou à des noms de fichiers spécifiés. Limitez la recherche à un emplacement spécifique à l’aide des filtres proj
, repo
ou path
. Mélanger et faire correspondre les fonctions suivantes en fonction des besoins.
Utilisation | exemple |
---|---|
Recherchez toutes les occurrences du mot QueueJobsNow dans le projet Fabrikam. | QueueJobsNow proj:Fabrikam |
Recherchez toutes les occurrences du mot QueueJobsNow dans le référentiel Contoso. | QueueJobsNow repo:Contoso |
Recherchez toutes les occurrences du mot QueueJobsNow dans le chemin d’accès VisualStudio/Services/Framework et ses sous-chemins. | QueueJobsNow path:VisualStudio/Services/Framework |
Recherchez toutes les occurrences du mot QueueJobsNow dans le chemin d’accès */Doc*/Framework/* et */Doc*/*/Framework/* et ses sous-chemins. Le modèle globbing (**) correspond à zéro ou plusieurs caractères sur plusieurs segments. Par exemple, path :**/Doc**/Framework correspond également à abc/DocTest/gh/ijk/mnop/Framework/ | QueueJobsNow path:**/Doc**/Framework |
Recherchez toutes les occurrences du mot QueueJobsNow dans le chemin d’accès */Doc*/Framework/* et ses sous-chemins et son nom de fichier Test*.txt (utiliser le modèle Globbing **). Par exemple, path :**/Doc**/Framework/**/Test*.txt correspond également à abc/def/DocA/gh/Framework/TestMisc.txt | QueueJobsNow path:**/Doc**/Framework/**/Test*.txt |
Placez l’argument dans le filtre entre guillemets doubles s’il contient un espace. | QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services" |
Recherchez toutes les occurrences du mot QueueJobsNow dans tous les fichiers où le nom de fichier commence par queueRegister. | QueueJobsNow file:queueRegister* |
Recherchez tous les fichiers portant le nom QueueRegister sans extension. Utilisez des guillemets pour rechercher des fichiers sans extensions. | file:"queueRegister" |
Recherchez toutes les occurrences du mot QueueJobsNow uniquement dans les fichiers sources C#. Une chaîne de recherche en texte brut qui n’inclut pas de fonctions de type de fichier trouve également des fichiers dans lesquels la chaîne correspond à la partie du nom de fichier. | QueueJobsNow ext:cs |
Rechercher des éléments connexes ou d’autres termes
La recherche de code vous permet d’étendre votre recherche de manière interactive en fonction des résultats précédents. Par exemple, vous pouvez élargir votre recherche aux fichiers associés lorsque vous effectuez le suivi ou le débogage du code.
Cliquez avec le bouton droit sur un terme dans le fichier et démarrez une nouvelle recherche d’autres fichiers avec le même terme. Vous pouvez le rechercher en tant que texte, ou en tant que définition ou référence s’il s’agit d’un nom d’objet.
Pour plus d’informations, consultez Commencer avec la recherche.
Autres opérations de recherche de code
Voici quelques fonctions de recherche de code supplémentaires. Vous pouvez rechercher des types de code dans les fichiers C#, C, C++, Java et Visual Basic.NET. Pour ouvrir les résultats de la recherche dans un nouvel onglet, sélectionnez Ctrl + Entrer dans la zone de recherche principale. Pour basculer vers le nouvel onglet dans Google Chrome, faites Ctrl + Maj + Entrée.
Utilisation | Exemple |
---|---|
Rechercher tous les commentaires | Historique : Mot clé |
Rechercher toutes les instances des commentaires « ToDo » dans votre code | Sélectionnez comment: et entrez todo |
Rechercher dans des emplacements spécifiques, comme dans un chemin d’accès particulier | Utiliser une chaîne de recherche telle que Driver path:MyShuttle/Server |
Rechercher des fichiers par nom ou simplement par extension de fichier | Driver file:GreenCabs.cs . La chaîne de recherche error ext:resx peut être utile si vous souhaitez examiner toutes les chaînes d’erreur dans votre code. Même si votre chaîne de recherche en texte brut correspond à une partie d’un nom de fichier, le fichier apparaît dans la liste des fichiers trouvés. Cette recherche fonctionne sans correspondre à des fonctions de type de fichier spécifiques. |
Rechercher des projets et référentiels Git
Un projet Git contient une liste de référentiels. Pour développer votre recherche, cochez les zones de projet et de référentiel. Vous pouvez effectuer des recherches dans tous les projets ou plus, ou moins de projets et de dépôts. S’il existe de nombreux projets ou référentiels, sélectionnez Afficher plus de pour les voir tous.
La recherche de code peut indexer différentes branches dans un référentiel Git. Il indexe uniquement les fichiers dans la branche par défaut de vos référentiels Git par défaut. La branche par défaut est principale. Pour indexer d’autres branches, accédez à l’onglet Options de dans la section Référentiels de la page des paramètres de projet .
Remarque
Par défaut, la recherche de code recherche la chaîne spécifiée dans la branche principale ou par défaut d’un référentiel. Toutefois, vous pouvez affiner la recherche en spécifiant un filtre pour une branche spécifique.
capture d’écran
Rechercher des projets TFVC
Les projets TFVC affichent uniquement les dossiers que vous pouvez lire. Vous ne pouvez pas voir d’autres projets ou dossiers. Pour filtrer votre recherche, choisissez des dossiers dans l’arborescence.
Conseil
La recherche de code enregistre vos derniers paramètres, tels que le projet et le dépôt ou le chemin dans lequel vous avez recherché. Lorsque vous souhaitez effectuer une recherche dans une autre étendue, sélectionnez Effacer tous les liens pour effacer les cases à cocher et rechercher dans tous les projets. Les 100 premières correspondances dans les fichiers cibles sont mises en surbrillance par Code Search dans le volet des résultats.
Rechercher du code avec l’API REST
Vous pouvez utiliser des API pour étendre ou compléter les fonctionnalités répertoriées dans cet article. Pour plus d’informations sur la recherche de code avec l’API REST, consultez Extraire les résultats de recherche de code.