Partage 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 Place de marché Recherche de code pour Azure DevOps.

Prérequis

  • Niveaux d’accès :
    • Accès de base :
      • Pour utiliser la recherche de code, vous devez disposer au moins d’un accès de base.
      • Pour accéder au code dans un projet privé, vous devez disposer d’au moins un accès de base.
    • Accès des 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.
      • 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 l’accès : lorsque vous effectuez une recherche dans l’ensemble de l’organisation ou de 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, vous devez disposer au moins d’un accès de base.
      • Pour accéder au code dans un projet privé, vous devez disposer d’au moins un accès de base.
    • Accès des 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 l’accès : lorsque vous effectuez une recherche dans l’ensemble de l’organisation ou de 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

  • Commencez par une recherche large , puis utilisez 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 développer vos opérateurs de recherche et booléens pour l’affiner.
  • Pointez 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.
  • Utilisez 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 spécifiques de code tels que :
    • Définitions
    • Références
    • Functions
    • Commentaires
    • Chaînes
    • Espaces de noms, et bien 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 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 vous montre 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 ... ... rechercher l’argument arg :findThis
Argument arg :findThis Deprecated in July 2019
Type de base basetype :findThis
Fonction appelante caller :findThis Deprecated in July 2019
Définition ou déclaration de classe class :findThis
déclaration de classe classdecl :findThis Merged with class:
Définition de classe classdef :findThis Merged with class:
Commentaire comment :findThis
Constructeur ctor :findThis Merged with method:
Déclaration decl :findThis
Définition def :findThis
Destructeur dtor :findThis Merged with method:
Énumérateur enum :findThis
Extern extern :findThis Deprecated in July 2019
Champ field :findThis
Friend, fonction friend :findThis Deprecated in July 2019
Fonction func :findThis Merged with method:
Déclaration de fonction funcdecl :findThis Merged with method:
Définition de fonction funcdef :findThis Merged with method:
Global global :findThis Deprecated in July 2019
En-tête header :findThis Deprecated in July 2019
Interface interface :findThis
Macro macro :findThis
Définition de macro macrodef :findThis Merged with macro:
Informations de référence sur les macros macroref :findThis Merged with macro:
Method method :findThis
Déclaration de méthode methoddecl :findThis Merged with method:
Définition de méthode methoddef :findThis Merged with method:
Espace de noms namespace :findThis
Propriété prop :findThis
Référence ref :findThis
Littéral de chaîne strlit :findThis
Struct struct :findThis Merged with type:
Déclaration de struct structdecl :findThis Merged with type:
Définition de struct structdef :findThis Merged with type:
Argument de modèle tmplarg :findThis Deprecated in July 2019
Spécification du modèle tmplspec :findThis Deprecated in July 2019
Type type :findThis
Typedef typedef :findThis Merged with type:
Union union :findThis Deprecated 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 du projou repopath des filtres. 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 VisualStudio/Services/Framework et ses sous-chemins. QueueJobsNow path:VisualStudio/Services/Framework
Recherchez toutes les occurrences du mot QueueJobsNow dans le chemin */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 */Doc*/Framework/* et ses sous-chemins et nom de fichier Test*.txt (utiliser le modèle Globbing **). Par exemple, path :**/Doc**/Framework/**/Test*.txt correspond également à abc/def/Doc A/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 dans uniquement 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 Prise en main de 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 + Entrée dans la zone de recherche principale. Pour basculer vers le nouvel onglet dans Google Chrome, sélectionnez Ctrl + Maj + Entrée.

Utilisation Exemple
Rechercher tous les commentaires History :Keyword
Rechercher toutes les instances des commentaires « ToDo » dans votre code Sélectionner comment:, puis entrer 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 error ext:resx de recherche 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 pour les afficher tous.

La recherche de code peut indexer différentes branches dans un référentiel Git. Il indexe uniquement les fichiers dans le 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 la section Référentiels de la page paramètres du projet.

Remarque

Par défaut, la recherche de code recherche la chaîne spécifiée dans le principal ou branche 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 ou correspondances dans les fichiers cibles sont mises en surbrillance par Recherche de code dans le volet de 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 la recherche de code.

Étapes suivantes