Configuration de l’exclusion de contenu pour votre référentiel
Vous pouvez utiliser les paramètres du référentiel pour spécifier du contenu dans le référentiel que GitHub Copilot doit ignorer.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.
-
Dans la section « Code et automatisation » de la barre latérale, cliquez sur Copilot, puis sur Exclusion de contenu.
Si votre référentiel hérite d’exclusions de son organisation parente ou d’organisations de la même entreprise, une ou plusieurs zones grises s’affichent en haut de la page, contenant les détails de ces exclusions. Vous ne pouvez pas modifier ces paramètres.
-
Dans la zone suivant « Chemins d’accès à exclure dans ce référentiel », saisissez les chemins d’accès aux fichiers desquels Copilot doit être exclu.
Utilisez le format
- "/PATH/TO/DIRECTORY/OR/FILE"
avec chaque chemin d’accès sur une ligne distincte. Vous pouvez ajouter des commentaires en commençant une ligne avec le caractère#
.Conseil
Vous pouvez utiliser la notation de correspondance de modèle fnmatch pour spécifier les chemins d’accès aux fichiers. Les modèles ne respectent pas la casse. Consultez Fichier dans la documentation ruby-doc.org.
Exemple de chemins d’accès spécifiés dans les paramètres du référentiel
# Ignore the `/src/some-dir/kernel.rs` file in this repository. - "/src/some-dir/kernel.rs" # Ignore files called `secrets.json` anywhere in this repository. - "secrets.json" # Ignore all files whose names begin with `secret` anywhere in this repository. - "secret*" # Ignore files whose names end with `.cfg` anywhere in this repository. - "*.cfg" # Ignore all files in or below the `/scripts` directory of this repository. - "/scripts/**"
- "/src/some-dir/kernel.rs"
Ignore the /src/some-dir/kernel.rs
file in this repository.
- "secrets.json"
Ignore files called secrets.json
anywhere in this repository.
- "secret*"
Ignore all files whose names begin with secret
anywhere in this repository.
- "*.cfg"
Ignore files whose names end with .cfg
anywhere in this repository.
- "/scripts/**"
Ignore all files in or below the /scripts
directory of this repository.
# Ignore the `/src/some-dir/kernel.rs` file in this repository.
- "/src/some-dir/kernel.rs"
# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"
# Ignore all files whose names begin with `secret` anywhere in this repository.
- "secret*"
# Ignore files whose names end with `.cfg` anywhere in this repository.
- "*.cfg"
# Ignore all files in or below the `/scripts` directory of this repository.
- "/scripts/**"
Configuration de l’exclusion de contenu pour votre organisation
Vous pouvez utiliser les paramètres de votre organisation pour spécifier les fichiers que GitHub Copilot doit ignorer. Les fichiers peuvent se trouver dans un référentiel Git ou n’importe où sur le système de fichiers qui n’est pas sous contrôle Git.
-
Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.
-
En regard de l’organisation, cliquez sur Paramètres.
-
Dans la barre latérale gauche, cliquez sur Copilot puis cliquez sur Exclusion de contenu.
-
Dans le champ suivant « Référentiels et chemins à exclure », entrez les détails des fichiers dont Copilot doit être exclu.
Pour exclure des fichiers situés n’importe où (dans un référentiel Git ou ailleurs), entrez
"*":
suivi du chemin d'accès au(x) fichier(s) que vous souhaitez exclure. Si vous souhaitez spécifier plusieurs modèles de chemin d'accès de fichier, répertoriez chaque modèle sur une ligne distincte.Pour exclure les fichiers d'un référentiel Git de Copilot, entrez une référence au référentiel sur une ligne, suivie des chemins d'accès aux emplacements du référentiel, en vous assurant de créer une nouvelle ligne pour chaque chemin d'accès. Utilisez le format suivant, en remplaçant
REPOSITORY-REFERENCE
par une référence au dépôt qui contient les fichiers que vous souhaitez exclure :REPOSITORY-REFERENCE: - "/PATH/TO/DIRECTORY/OR/FILE" - "/PATH/TO/DIRECTORY/OR/FILE" - ...
Les référentiels peuvent être référencés à l’aide de différents protocoles. Vous pouvez utiliser l’une des syntaxes suivantes pour
REPOSITORY-REFERENCE
et Copilot correspondera à celles-ci, quelle que soit la façon dont le référentiel a été cloné localement :http[s]://host.xz[:port]/path/to/repo.git/ git://host.xz[:port]/path/to/repo.git/ [user@]host.xz:path/to/repo.git/ ssh://[user@]host.xz[:port]/path/to/repo.git/
Les parties
user@
et:port
deREPOSITORY-REFERENCE
sont ignorées dans le calcul des chemins d’accès à ignorer pour un référentiel.Pour Azure DevOps, vous pouvez utiliser le nouveau (dev.azure.com) ou l'ancien (visualstudio.com) format d'hôte lorsque vous spécifiez
REPOSITORY-REFERENCE
, et Copilot leur correspondra quel que soit l'hôte utilisé pour cloner le référentiel localement.Conseil
Vous pouvez utiliser la notation de correspondance de modèle fnmatch pour spécifier les chemins d’accès aux fichiers. Les modèles ne respectent pas la casse. Consultez Fichier dans la documentation ruby-doc.org.
Exemple de référentiels et de chemins d’accès dans les paramètres de l’organisation
# Ignore all `.env` files from all file system roots (Git and non-Git). # For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`. # This could also have been written on a single line as: # # "*": ["**/.env"] "*": - "**/.env" # In the `octo-repo` repository in this organization: octo-repo: # Ignore the `/src/some-dir/kernel.rs` file. - "/src/some-dir/kernel.rs" # In the `primer/react` repository on GitHub: https://github.com/primer/react.git: # Ignore files called `secrets.json` anywhere in this repository. - "secrets.json" # Ignore files called `temp.rb` in or below the `/src` directory. - "/src/**/temp.rb" # In the `copilot` repository of any GitHub organization: git@github.com:*/copilot: # Ignore any files in or below the `/__tests__` directory. - "/__tests__/**" # Ignore any files in the `/scripts` directory. - "/scripts/*" # In the `gitlab-org/gitlab-runner` repository on GitLab: git@gitlab.com:gitlab-org/gitlab-runner.git: # Ignore the `/main_test.go` file. - "/main_test.go" # Ignore any files with names beginning with `server` or `session` anywhere in this repository. - "{server,session}*" # Ignore any files with names ending with `.md` or `.mk` anywhere in this repository. - "*.m[dk]" # Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository. - "**/package?/*" # Ignore files in or below any `security` directories, anywhere in this repository. - "**/security/**"
"*":
- "**/.env"
Ignore all .env
files from all file system roots (Git and non-Git).
For example, this excludes REPOSITORY-PATH/.env
and also /.env
.
This could also have been written on a single line as:
"*": ["**/.env"]
octo-repo:
In the octo-repo
repository in this organization:
- "/src/some-dir/kernel.rs"
Ignore the /src/some-dir/kernel.rs
file.
https://github.com/primer/react.git:
In the primer/react
repository on GitHub:
- "secrets.json"
Ignore files called secrets.json
anywhere in this repository.
- "/src/**/temp.rb"
Ignore files called temp.rb
in or below the /src
directory.
git@github.com:*/copilot:
In the copilot
repository of any GitHub organization:
- "/__tests__/**"
Ignore any files in or below the /__tests__
directory.
- "/scripts/*"
Ignore any files in the /scripts
directory.
git@gitlab.com:gitlab-org/gitlab-runner.git:
In the gitlab-org/gitlab-runner
repository on GitLab:
- "/main_test.go"
Ignore the /main_test.go
file.
- "{server,session}*"
Ignore any files with names beginning with server
or session
anywhere in this repository.
- "*.m[dk]"
Ignore any files with names ending with .md
or .mk
anywhere in this repository.
- "**/package?/*"
Ignore files directly within directories such as packages
or packaged
anywhere in this repository.
- "**/security/**"
Ignore files in or below any security
directories, anywhere in this repository.
# Ignore all `.env` files from all file system roots (Git and non-Git).
# For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`.
# This could also have been written on a single line as:
#
# "*": ["**/.env"]
"*":
- "**/.env"
# In the `octo-repo` repository in this organization:
octo-repo:
# Ignore the `/src/some-dir/kernel.rs` file.
- "/src/some-dir/kernel.rs"
# In the `primer/react` repository on GitHub:
https://github.com/primer/react.git:
# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"
# Ignore files called `temp.rb` in or below the `/src` directory.
- "/src/**/temp.rb"
# In the `copilot` repository of any GitHub organization:
git@github.com:*/copilot:
# Ignore any files in or below the `/__tests__` directory.
- "/__tests__/**"
# Ignore any files in the `/scripts` directory.
- "/scripts/*"
# In the `gitlab-org/gitlab-runner` repository on GitLab:
git@gitlab.com:gitlab-org/gitlab-runner.git:
# Ignore the `/main_test.go` file.
- "/main_test.go"
# Ignore any files with names beginning with `server` or `session` anywhere in this repository.
- "{server,session}*"
# Ignore any files with names ending with `.md` or `.mk` anywhere in this repository.
- "*.m[dk]"
# Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository.
- "**/package?/*"
# Ignore files in or below any `security` directories, anywhere in this repository.
- "**/security/**"
Configuration de l’exclusion de contenu pour votre entreprise
En tant que propriétaire d’entreprise, vous pouvez utiliser les paramètres d’entreprise pour spécifier des fichiers que GitHub Copilot doit ignorer. Les fichiers peuvent se trouver dans un référentiel Git ou n’importe où sur le système de fichiers qui n’est pas sous contrôle Git.
- Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil.
- En fonction de votre environnement, cliquez sur Votre entreprise ou sur Vos entreprises, puis cliquez sur l'entreprise que vous souhaitez consulter.
- En haut de la page, cliquez sur Stratégies.
- Dans la section « Stratégies », cliquez sur Copilot.
- Cliquez sur l’onglet Exclusion de contenu.
- Utilisez les chemins d’accès pour spécifier le contenu à exclure. Consultez la section précédente, Configuration de l’exclusion de contenu pour votre organisation.
Remarque
La principale différence entre la configuration de l’exclusion de contenu au niveau de l’entreprise et au niveau de l’organisation est que les règles définies au niveau de l’entreprise s’appliquent à tous les utilisateurs de Copilot dans l’entreprise, tandis que les règles définies par les propriétaires d’organisation s’appliquent uniquement aux utilisateurs auxquels un poste Copilot est attribué par cette organisation.
Test des modifications d'exclusions de contenu
Vous pouvez utiliser votre IDE pour confirmer que les modifications apportées aux exclusions de contenu fonctionnent comme prévu.
Propagation des modifications d'exclusions de contenu dans votre IDE
Après avoir ajouté ou modifié des exclusions de contenu, 30 minutes peuvent s’écouler avant qu’elles ne prennent effet dans les IDE où les paramètres sont déjà chargés. Si vous ne souhaitez pas attendre, vous pouvez recharger manuellement les paramètres d’exclusion de contenu en effectuant les instructions suivantes.
- Pour les IDE JetBrains et Visual Studio, rechargez les paramètres d’exclusion de contenu en fermant et rouvrant l’application.
- Pour Visual Studio Code, procédez comme suit pour recharger les paramètres d’exclusion de contenu :
- Accédez à la palette de commandes. Par exemple, en appuyant sur Maj+Commande+P (Mac)/Ctrl+Maj+P (Windows/Linux).
- Entrez :
reload
. - Sélectionnez Développeur : Recharger la fenêtre.
- Dans Vim/Neovim, les exclusions de contenu sont automatiquement extraites de GitHub chaque fois que vous ouvrez un fichier.
Test de vos exclusions de contenu
Vous pouvez vérifier que les exclusions de contenu que vous avez configurées fonctionnent comme prévu.
- Vérifiez d’abord que l’exclusion de contenu fonctionne dans les fichiers qui ne sont pas soumis à l’exclusion de contenu. Pour ce faire :
- Dans votre IDE, ouvrez un fichier qui n’est pas soumis à l’exclusion de contenu.
- Effectuez une modification qui générerait normalement une suggestion de complétion de code. Une suggestion doit être proposée
- Ouvrez un fichier qui doit être exclu et effectuez la même modification. Aucune suggestion ne doit être proposée.
- Pour tester l’exclusion de contenu pour Copilot Chat :
-
Dans votre IDE, ouvrez le panneau Copilot Chat.
-
Ouvrez un fichier qui doit être exclu et fermez tous les autres fichiers ouverts dans l’éditeur.
-
Assurez-vous que le fichier ouvert est joint au prompt en tant que fichier de contexte.
-
Entrez l’invite
explain this file
.Si le fichier est exclu, Copilot Chat ne pourra pas utiliser le fichier pour générer une réponse. Le fichier ne sera pas répertorié comme référence dans la réponse de Copilot.
-