Skip to main content

Navigation dans le code sur GitHub

Vous pouvez comprendre les relations dans et entre les dépôts en parcourant le code directement dans GitHub.

À propos de la navigation dans du code sur GitHub

La navigation dans le code vous permet de lire, naviguer et comprendre le code en affichant et en liant des définitions d’une entité nommée correspondant à une référence à cette entité, ainsi que des références correspondant à la définition d’une entité.

Capture d’écran montrant un fichier de code avec une fonction appelée « request » mise en évidence et une fenêtre contextuelle avec des informations sur la fonction en dessous. La fenêtre contextuelle a deux onglets : « Définition » et « Référence ».

La navigation dans le code utilise la bibliothèque open source tree-sitter. Les langues suivantes prennent en charge la navigation dans le code.

  • Bash
  • C
  • C#
  • C++
  • CodeQL
  • Elixir
  • Go
  • JSX
  • Java
  • JavaScript
  • Lua
  • PHP
  • Mémoires tampon de protocole
  • Python
  • R
  • Ruby
  • Rust
  • Scala
  • Starlark
  • Swift
  • Typescript

Vous n’avez pas besoin de configurer quoi que ce soit dans votre référentiel pour activer la navigation dans le code. Nous extrairons automatiquement les informations relatives à la navigation dans le code pour ces langues prises en charge dans tous les référentiels.

GitHub a développé une approche de navigation dans le code basée sur la bibliothèque open source tree-sitter qui recherche toutes les définitions et références à travers un référentiel pour trouver des entités avec un nom donné.

Vous pouvez utiliser des raccourcis clavier pour naviguer dans un fichier de code. Pour plus d’informations, consultez « Raccourcis clavier ».

Utilisation du volet de symboles

Vous pouvez désormais voir et naviguer rapidement parmi les symboles tels que les fonctions ou les classes dans votre code avec le volet de symboles. Vous pouvez rechercher un symbole dans un seul fichier, dans tous les fichiers d’un dépôt ou même dans tous les dépôts publics sur GitHub.

La recherche de symboles est une fonctionnalité de la recherche de code. Pour plus d’informations, consultez « Présentation de la syntaxe de GitHub Code Search ».

  1. Sélectionnez un dépôt, puis accédez à un fichier contenant des symboles.

  2. Pour afficher le volet de symboles, au-dessus du contenu du fichier, cliquez sur .

    Vous pouvez également ouvrir le volet de symboles en cliquant sur un symbole éligible dans votre fichier. Les symboles cliquables sont mis en surbrillance en jaune quand vous pointez sur eux.

  3. Cliquez sur le symbole à rechercher dans le volet de symboles ou dans le fichier lui-même.

    • Pour rechercher un symbole dans l’ensemble du dépôt, dans le volet des symboles, cliquez sur Rechercher ce symbole dans ce dépôt. Pour rechercher un symbole dans tous les dépôts de GitHub, cliquez sur tous les dépôts.
  4. Pour naviguer parmi les références à un symbole, cliquez sur ou sur .

  5. Pour naviguer vers une référence spécifique à un symbole, cliquez sur un résultat de la recherche de symbole sous Dans ce dossier.

  6. Pour quitter la recherche d'un symbole spécifique, cliquez sur All Symbols.

Accès à la définition d’une fonction ou d’une méthode

Vous pouvez accéder à la définition d’une fonction ou d’une méthode dans le même référentiel en cliquant sur l’appel de fonction ou de méthode dans un fichier.

Capture d’écran de la fenêtre de fonction. Une section, intitulée « Définition », est indiquée en orange foncé.

Recherche de toutes les références d’une fonction ou d’une méthode

Vous pouvez trouver toutes les références d’une fonction ou d’une méthode dans le même dépôt en cliquant sur la fonction ou l’appel de méthode dans un fichier.

Capture d’écran de la fenêtre de fonction. Une section, intitulée « 3 références », est indiquée en orange foncé.

Résolution des problèmes de navigation dans le code

Si la navigation dans le code est activée pour vous, mais que vous ne voyez pas de liens vers les définitions de fonctions et de méthodes :

  • La navigation dans le code fonctionne uniquement pour les branches actives. Envoyez (push) à la branche et réessayez.
  • La navigation dans le code fonctionne uniquement pour les référentiels avec moins de 100 000 fichiers.

Pour aller plus loin