Note
从 GitHub Copilot 中排除的内容目前为公开 Beta 版,可能会有变动。
可以在存储库或组织的设置中通过排除特定的内容路径来忽略特定的文件,从而配置 GitHub Copilot。
指定内容排除项后最多有三种效果,具体取决于 IDE 的支持级别:
- 代码完成功能在受影响的文件中不可用。
- 受影响文件中的内容不会用于其他文件中的代码完成建议。
- 受影响文件中的内容不会用于 GitHub Copilot Chat 的回答。
添加或更改内容排除项后,可能需要长达 30 分钟才能在已加载设置的 IDE 中生效。 可以将更改应用于自己的 IDE,强制其重新加载内容排除设置。请参阅“在 IDE 中测试对内容排除项的更改”。
内容排除功能的可用性
工具 | 代码完成功能支持 | Copilot Chat 支持 |
---|---|---|
Visual Studio | ||
Visual Studio Code | ||
JetBrains IDE | ||
Vim/Neovim | 不适用 | |
Azure Data Studio | 不适用 | |
GitHub.com | 不适用 |
内容排除功能的限制
- 在 Visual Studio Code 中的 Copilot Chat 中,当在问题中使用
@github
聊天参与者时,不会应用内容排除项。 - 如果 IDE 在未排除的文件中提供了 Copilot 中的语义信息,则可能会使用该信息。 此类内容的示例包括代码中使用的符号的类型信息和悬停定义。
可以排除哪些内容?
在存储库的设置中指定内容排除项时,只能排除该存储库中的文件。
在组织的设置中指定内容排除项时,可以排除在 GitHub.com 上托管的任何基于 Git 的存储库中的文件,或者排除使用以下任一语法访问的文件:
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/
哪些用户受内容排除项设置的影响?
内容排除设置仅适用于满足以下每个条件的人:
- 作为 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅的一部分,他们已被授予一个席位
- 他们是配置了内容排除的同一企业的成员
任何其他可以访问指定文件的人仍将看到引用指定文件的代码完成建议和 GitHub Copilot Chat 响应。
所有排除项,无论是在存储库设置中还是在组织设置中定义,都适用于已作为 Copilot Business 订阅一部分被授予 Copilot 席位的组织的所有成员。
将数据发送到 GitHub
配置内容排除项后,客户端(例如,VS Code 的 Copilot 扩展)将当前存储库 URL 发送到 GitHub 服务器,以便服务器可以将正确的策略返回至客户端。 这些 URL 不会记录到任何位置。
后续步骤
要在存储库或组织中设置内容排除项,请参阅“为 GitHub Copilot 配置内容排除”。