Rechercher un code

Vous pouvez rechercher des fichiers ou des extraits de code spécifiques à l'aide du champ de recherche situé en haut de la console Google Cloud.

Champ de recherche

Ouvrir Cloud Source Repositories

Toutes les recherches utilisent les expressions régulières RE2 par défaut. Si vous ne souhaitez pas utiliser d'expressions régulières, placez votre recherche entre guillemets doubles ("). Par exemple :

foo() # Parentheses are treated as part of a regular expression. Matches 'food'.
"foo()" # Treats the parentheses as literals. Doesn't match 'food'.

Définir la portée de recherche

La liste déroulante Champ d'application située à gauche du champ de recherche vous permet de limiter le champ d'application de recherche à l'un des éléments suivants, selon votre emplacement dans l'interface du dépôt source :

  • Tout : recherche dans tous les dépôts auxquels vous avez accès.
  • Ce projet : recherche dans tous les dépôts du projet actuel.
  • Ce dépôt : recherche dans le dépôt actuel.
  • Ce répertoire : recherche dans le répertoire actuel.

Rechercher des fichiers

Vous pouvez rechercher un fichier de plusieurs manières. Par exemple, vous pouvez utiliser le filtre file pour rechercher un fichier à l'aide de son chemin. Exemple :

file:main

Les filtres suivants renvoient les mêmes résultats que le filtre file :

  • filepath
  • f
  • path

Vous pouvez également rechercher un nom de fichier en saisissant son nom et son extension. Exemple :

main\.java

Rechercher le contenu d'un fichier

Vous pouvez restreindre votre recherche au contenu d'un fichier à l'aide du filtre content. Par exemple, la requête suivante recherche le terme main dans le contenu de tous les fichiers Java. Elle ne recherche pas les instances dans lesquelles un chemin d'accès contient le terme main.

lang:java content:main

Rechercher par langage

Pour limiter vos résultats de recherche à un langage spécifique, utilisez le filtre language ou lang. Par exemple, la recherche suivante limite les résultats de la recherche au langage Java :

helloworld language:java

Vous pouvez également utiliser le filtre file, comme illustré dans l'exemple suivant :

file:\.java

Rappelez-vous que les recherches utilisent des expressions régulières par défaut. Par conséquent, la recherche suivante ne fonctionne pas :

*.java

Au lieu de cela, essayez les recherches suivantes :

\.java
lang:java

Activer des recherches sensibles à la casse

Vous pouvez rendre votre recherche sensible à la casse à l'aide du filtre case. Par exemple, la recherche suivante ne renvoie que les résultats correspondant au terme HelloWorld. Elle exclut les résultats où la casse ne correspond pas, tels que helloWorld ou helloworld.

case:yes HelloWorld

Rechercher des classes

Pour rechercher une classe spécifique, utilisez le mot clé class. Par exemple, la recherche suivante renvoie toutes les classes comportant le terme Main.

class:Main

Rechercher des fonctions

Utilisez les filtres function ou func pour rechercher une fonction spécifique. Par exemple, la recherche suivante renvoie toutes les fonctions comportant le terme main.

function:main

Exclure des termes

Pour exclure un terme des résultats de recherche, ajoutez le caractère - au terme que vous souhaitez exclure. Par exemple, la recherche suivante renvoie toutes les fonctions comportant le terme main mais exclut les correspondances trouvées dans les fichiers C++.

function:main -lang:cpp

Échapper des caractères

Par défaut, les recherches utilisent des expressions régulières RE2. Pour échapper des caractères afin qu'ils ne soient pas considérés comme faisant partie d'une expression régulière, utilisez le caractère \. Ainsi, l'exemple suivant recherche le terme main.java.

main\.java

Rechercher des littéraux

Placez vos termes de recherche entre guillemets doubles (") pour effectuer une recherche littérale. Ainsi, l'exemple suivant recherche le terme main.java.

"main.java"

Rechercher des symboles

Pour rechercher un symbole spécifique, utilisez le mot clé symbol. Par exemple, la recherche suivante renvoie toutes les classes et fonctions immuables.

symbol:immutable

Utiliser l'opérateur AND

Vous pouvez rechercher plusieurs termes à l'aide de l'opérateur AND. Cet opérateur ne renvoie des résultats que lorsque les termes des deux côtés de l'opérateur sont vrais. Par exemple, la recherche suivante renvoie des fichiers Python contenant le terme server.

server AND lang:python

Une recherche de plusieurs termes utilise AND implicitement. Par exemple, vous pouvez écrire l'exemple précédent comme suit :

server lang:python

Utiliser l'opérateur OR

L'opérateur OR renvoie un résultat s'il correspond à une expression de chaque côté du mot clé. Par exemple, la recherche suivante renvoie des fichiers contenant les termes hello ou world.

hello OR world

Regrouper des termes de recherche

Vous pouvez regrouper plusieurs termes de recherche en utilisant des parenthèses (( et )). Par exemple :

(hello OR world) AND lang:java

Vous pouvez également imbriquer plusieurs groupes. Exemple :

((Strings OR StringBuilder) AND lang:java) OR (std AND lang:cpp)

Prévisualiser des résultats de recherche

Une requête de recherche peut avoir plusieurs résultats dans le même fichier. Exemple :

lang:java function:foo

Cette opération recherche les fichiers Java ayant une fonction foo. Ces fichiers peuvent toutefois contenir plusieurs références à cette fonction. Dans ces situations, le résultat de recherche pour ce fichier contient un lien Afficher toutes les correspondances trouvées dans ce fichier. Cliquez sur ce lien pour ouvrir un volet d'aperçu qui affiche le contenu de ce fichier.

Utilisez le volet d'aperçu pour prévisualiser rapidement plusieurs résultats simultanément tout en gardant un œil sur le reste des résultats de recherche.

Rechercher une référence

Les tableaux suivants illustrent les filtres de recherche et les opérateurs décrits dans la section précédente.

Filtres de recherche

Le tableau suivant répertorie les filtres que vous pouvez utiliser lors de la recherche de code.

Filtre Autres options Description Exemple
case:yes Rend la recherche sensible à la casse. Par défaut, les recherches ne sont pas sensibles à la casse.

Si vous regroupez plusieurs termes de recherche, ce filtre est appliqué à tous les groupes enfants.
case:yes Hello World
class: Recherche un nom de classe. class:MainClass
content: Recherche uniquement des noms de fichier et du contenu de fichier. content:hello
file: filepath:
path:
f:
Recherche un fichier en fonction de son chemin d'accès. file:test.js
function: func: Recherche un nom de fonction. function:print
lang: language: Recherche des résultats en utilisant une langue spécifique. lang:java test

Opérateurs de recherche

Le tableau suivant répertorie les opérateurs que vous pouvez utiliser lors de la recherche de code.

Opérateur Autres options Description
AND Opérateur logique "AND". Pour plus d'informations, voir Utiliser l'opérateur AND.
OU Opérateur logique "OR". Pour plus d'informations, voir Utiliser l'opérateur OR.
([SEARCH_EXPRESSION]) Regroupe plusieurs termes. Pour plus d'informations, voir Regrouper des termes de recherche.
- Exclut le terme des résultats de recherche.
\ Échappe les caractères spéciaux tels que ., \ ou (.
"[SEARCH_EXPRESSION]" Effectue une recherche sans interpréter la requête de recherche en tant qu'expression régulière.