Partager via


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é pour Azure DevOps.

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.
  • 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.
  • 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 :

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, repoou 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

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 montrant les branches Git pour la configuration.

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.

Étapes suivantes