Back to Gitlabhq

Recherche exacte de code

doc-locale/fr-fr/user/search/exact_code_search.md

19.1.09.4 KB
Original Source

{{< details >}}

  • Niveau : Premium, Ultimate
  • Offre : GitLab.com, GitLab Self-Managed
  • Statut : Disponibilité limitée

{{< /details >}}

{{< history >}}

{{< /history >}}

[!warning] Cette fonctionnalité est en disponibilité limitée. Pour plus d'informations, consultez l'epic 9404. Donnez votre avis dans le ticket 420920.

Avec la recherche exacte de code, vous pouvez utiliser les modes de correspondance exacte et d'expression régulière pour rechercher du code dans tout GitLab ou dans un projet spécifique.

La recherche exacte de code est propulsée par Zoekt et est utilisée par défaut dans les groupes où la fonctionnalité est activée.

Utiliser la recherche exacte de code {#use-exact-code-search}

Prérequis :

  • La recherche exacte de code doit être activée :

Pour utiliser la recherche exacte de code :

  1. Dans la barre supérieure, sélectionnez Rechercher ou aller à.
  2. Dans la zone de recherche, saisissez votre terme de recherche.
  3. Dans la barre latérale gauche, sélectionnez Code.

Vous pouvez également utiliser la recherche exacte de code dans un projet ou un groupe.

Portées disponibles {#available-scopes}

Les portées décrivent le type de données que vous recherchez. Les portées suivantes sont disponibles pour la recherche exacte de code :

PortéeGlobal <sup>1</sup> <sup>2</sup>GroupeProjet
Code{{< no >}}{{< yes >}}{{< yes >}}

Footnotes :

  1. Un administrateur peut désactiver les portées de recherche globale. Dans GitLab 18.6 et versions antérieures, pour activer la recherche globale sur GitLab Self-Managed, un administrateur doit également activer le feature flag zoekt_cross_namespace_search.
  2. Sur GitLab.com, la recherche globale n'est pas activée.

API de recherche Zoekt {#zoekt-search-api}

{{< history >}}

{{< /history >}}

Avec l'API de recherche Zoekt, vous pouvez utiliser l'API de recherche pour la recherche exacte de code. Pour utiliser la recherche avancée ou la recherche de base à la place, spécifiez un type de recherche.

Modes de recherche {#search-modes}

{{< history >}}

{{< /history >}}

GitLab dispose de deux modes de recherche :

  • Mode de correspondance exacte : renvoie les résultats qui correspondent exactement à la requête.
  • Mode d'expression régulière : prend en charge les expressions régulières et booléennes.

Le mode de correspondance exacte est utilisé par défaut. Pour passer en mode d'expression régulière, à droite de la zone de recherche, sélectionnez Utiliser une expression régulière ({{< icon name="regular-expression" >}}).

Syntax {#syntax}

{{< history >}}

  • Le filtre repo: introduit dans GitLab 19.0.

{{< /history >}}

<!-- Remember to also update the table in `doc/drawers/exact_code_search_syntax.md` -->

Ce tableau présente quelques exemples de requêtes pour les modes de correspondance exacte et d'expression régulière.

RequêteMode de correspondance exacteMode d'expression régulière
"foo""foo"foo
foo file:^doc/foo dans les répertoires qui commencent par /docfoo dans les répertoires qui commencent par /doc
"class foo""class foo"class foo
class fooclass fooclass et foo
foo or barfoo or barfoo ou bar
class Fooclass Foo (sensible à la casse)class (insensible à la casse) et Foo (sensible à la casse)
class Foo case:yesclass Foo (sensible à la casse)class et Foo (tous deux sensibles à la casse)
foo -barfoo -barfoo mais pas bar
foo file:jsfoo dans les fichiers dont le nom contient jsfoo dans les fichiers dont le nom contient js
foo -file:testfoo dans les fichiers dont le nom ne contient pas testfoo dans les fichiers dont le nom ne contient pas test
foo lang:rubyfoo dans le code source Rubyfoo dans le code source Ruby
foo file:\.js$foo dans les fichiers dont le nom se termine par .jsfoo dans les fichiers dont le nom se termine par .js
foo.*barfoo.*bar (littéral)foo.*bar (expression régulière)
sym:foofoo dans les symboles tels que les noms de classes, de méthodes et de variablesfoo dans les symboles tels que les noms de classes, de méthodes et de variables
test repo:(?i)footest dans les projets dont le nom contient foo (insensible à la casse)test dans les projets dont le nom contient foo (insensible à la casse)

Problèmes connus {#known-issues}

  • Vous pouvez rechercher uniquement les fichiers de moins de 1 Mo avec moins de 20_000 trigrammes. Pour plus d'informations, consultez le ticket 455073.
  • Vous pouvez utiliser la recherche exacte de code uniquement sur la branche par défaut d'un projet. Pour plus d'informations, consultez le ticket 403307.
  • Plusieurs correspondances sur une même ligne sont comptées comme un seul résultat.
  • Si vous rencontrez des résultats où les sauts de ligne ne s'affichent pas correctement, mettez à jour gitlab-zoekt vers la version 1.5.0 ou ultérieure.