关于 Copilot 的内容排除
可以配置内容排除,使 Copilot 忽略某些文件。 当您从Copilot中排除内容时:
- 内联建议将无法在受影响的文件中使用。
- 受影响的文件中的内容不会影响其他文件中的内联建议的生成。
- 受影响文件中的内容不会为 Copilot 的回复提供依据。
- 受影响的文件将不会在 Copilot 代码评审中接受审查。
谁可以配置内容排除
存储库管理员、组织所有者和企业所有者可以配置内容排除。
- 存储库管理员可以排除他们自己的存储库内容****。 这会影响在这些特定存储库中工作的任何 Copilot 用户。
- 组织所有者可以通过其组织排除分配到 Copilot 席位的用户的内容。
内容排除的可用性
Copilot Business 和 Copilot Enterprise 计划针对内容排除提供以下级别的支持。
| 工具 | 内联建议支持 | 聊天和代理支持 |
|---|---|---|
| Visual Studio | ||
| Visual Studio Code | ||
| JetBrains IDE系列 | ||
| Vim/Neovim | 不適用 | |
| Xcode | ||
| Eclipse | ||
| Azure Data Studio | 不適用 | |
| GitHub Copilot app | 不適用 | |
| GitHub Copilot CLI | 不適用 | |
| Copilot in the cloud | 不適用 | |
| Copilot code review | 不適用 |
Copilot in the cloud 包括在 GitHub 网站、GitHub Mobile 或云沙盒上启动的聊天和代理会话。
内容排除的限制
内容排除不是文件系统安全边界,无法保证阻止所有形式的文件访问。 这是对 GitHub 所控制工具的防护措施,并不保证第三方 MCP 服务器或客户端会遵守。
也有可能 Copilot会使用排除文件中的语义信息,如果该信息是由 IDE 间接提供的。 此类内容的示例包括代码中使用的符号的类型信息和悬停时显示的定义,以及常规项目属性,例如生成配置相关信息。
注意
当你在 IDE、GitHub Copilot CLI 或 Copilot agent 中使用 GitHub Copilot app 时,内容排除会阻止代理通过 Copilot 工具访问被排除的文件,并在运行命令和脚本之前检查其中可识别的文件路径,但可能无法检测到间接的文件访问。 内容排除不能替代操作系统权限或其他访问控制。
目前,内容排除功能不适用于符号链接和远程文件系统上的存储库。
发送到 GitHub 的数据
配置好内容排除后,客户端(例如适用于 VS Code 的 Copilot 扩展)会将当前存储库 URL 发送到 GitHub 服务器,以便服务器向客户端返回正确的策略。 这些 URL 不会记录到任何位置。