Note
Excluding content from GitHub Copilot is currently in public beta and is subject to change.
You can configure GitHub Copilot to ignore certain files by excluding specific paths to content in the settings for your repository or organization.
When you specify content exclusions, there are up to three effects depending on the level of support for your IDE:
- Code completion will not be available in the affected files.
- The content in affected files will not inform code completion suggestions in other files.
- The content in affected files will not inform GitHub Copilot Chat's responses.
After you add or change content exclusions, it can take up to 30 minutes to take effect in IDEs where the settings are already loaded. You can apply changes to your own IDE, forcing it to reload the content exclusion settings. See "Testing changes to content exclusions in your IDE."
Availability of content exclusions
Tool | Code completion support | Copilot Chat support |
---|---|---|
Visual Studio | ||
Visual Studio Code | ||
JetBrains IDEs | ||
Vim/Neovim | Not applicable | |
Azure Data Studio | Not applicable | |
GitHub.com | Not applicable |
Limitations of content exclusions
- In Copilot Chat in Visual Studio Code, content exclusions are not applied when you use the
@github
chat participant in your question. - It's possible that Copilot may use semantic information from an excluded file if the information is provided by the IDE in a non-excluded file. Examples of such content include type information and hover-over definitions for symbols used in code.
What can you exclude?
When you specify content exclusion in the settings for a repository, you can only exclude files in that repository.
When you specify content exclusion in the settings for an organization, you can exclude files in any Git-based repository hosted on GitHub.com, or anywhere that can be accessed using any of the following syntaxes:
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/
Who is affected by a content exclusion setting?
A content exclusion setting only applies to people who meet each of the following criteria:
- They have been granted a seat as part of a GitHub Copilot Business or GitHub Copilot Enterprise subscription
- They are members of the same organization in which the content exclusion is configured
Anyone else who can access the specified files will still see code completion suggestions and GitHub Copilot Chat responses referencing the specified files.
All exclusions, whether they are defined in repository settings or in organization settings, apply to all members of the organization who have been granted a Copilot seat as part of a Copilot Business subscription.
Data sent to GitHub
After you configure content exclusion, the client (for example, the Copilot extension for VS Code) sends the current repository URL to the GitHub server so that the server can return the correct policy to the client. These URLs are not logged anywhere.
Next steps
To set up content exclusions in your repository or organization, see "Configuring content exclusions for GitHub Copilot."