在特定的仓库或项目中禁用GitHub Copilot(出于隐私考虑)

人工智能 2026-07-12

我在VS Code中使用GitHub Copilot,但有一个特定的项目出于隐私原因不希望被Copilot处理(并非安全性关键,我只是希望相关信息留在本地)。

我的理解是,Copilot可能会把周围的代码上下文发送到远程服务以生成建议。对于这个特定的仓库,我更希望该项目的任何代码都不要发送给Copilot/OpenAI的服务。

理想情况下,我想要以下其中一种:

  • 仅在特定的仓库或文件夹中禁用Copilot
  • 配置我的编辑器,使Copilot永远不会在该项目中激活
  • 确保该仓库中的任何代码都不会传输给Copilot的服务

完全卸载或全局禁用Copilot并非理想,因为我还想在其他项目中使用它。不过如果确实需要这样做,我也可以这么做。

解决方案

基本选项

有几件简单的事可以先看看,这些做法工作量最小,但能提供基本保护。

1.内容排除

在使用Copilot for Business或 Copilot Enterprise时,您可以在企业、组织和仓库级别设置内容排除。如果你在仓库级别添加 **/*,该仓库中的所有文件应从GitHub Copilot的 Suggestions和 Ask模式中排除。 不幸的是,Copilot CLI、Edit模式和Agent模式并不能完全强制执行/支持内容排除(因为内容可能通过 grep 或其他工具被读取)。因此,这并不能提供完全的隔离。

2.在工作区禁用Copilot

你现在可以在vscode工作区中启用/禁用特定扩展。这取决于你打开的根文件夹。打开Visual Studio Code中的项目文件夹,打开扩展面板,并为你的工作区禁用GitHub Copilot Chat:

Disable Copilot in the Workspace from the extensions panel

重新启动Visual Studio Code之后,Copilot窗口将被禁用。

你也可以通过在工作区/仓库根目录中添加/编辑你的 .vscode/settings.json,并在那里禁用Copilot来手动完成:

{
    "extensions.disabled": [
        "GitHub.copilot-chat",
        "GitHub.copilot"
    ]
}

3. Visual Studio Code配置文件

在Visual Studio Code中,你可以创建多个配置文件。每个配置文件将有自己安装的扩展列表。因此,你可以在一个配置文件中安装并启用Copilot,在另一个配置文件中安装并禁用 Copilot

你随后可以 将一个配置文件关联到工作区或文件夹,以便它为你在不同配置文件之间自动切换

Automatically switch between profiles based on folders

高级选项

遗憾的是,这仍然不能保证Copilot不会读取你的文件,因为它没有把这些文件夹与其他已经启用Copilot的 Visual Studio Code实例隔离开来。如果你想更加确定,你需要把你的文件与其他项目隔离开来。可以通过在操作系统中切换账户、对驱动器进行加密或使用容器化来实现。这样你就能够为每个用户设置特定的设置,并通过文件系统权限拒绝对文件的访问。

为获得最佳保护,你需要在另一台机器上启动Visual Studio Code,或在一个隔离的用户账户中运行。

4.容器化

如果你使用devcontainers、Codespaces打开你的项目,那么每个项目都会在自己独立的Docker容器中加载,这极大地提升了Visual Studio Code进程的隔离性,同时你还可以更好地控制在不同的开发容器中应安装哪些扩展。容器也可以与策略结合使用。

尤其 GitHub Codespaces 是一个不错的选项,因为此时的Visual Studio Code实例在远程主机上运行,无法访问你的本地文件系统。那里还具有额外的安全性,因为用于打开codespace的访问令牌默认只对codespace打开的仓库有访问权限,从而也防止了远程访问。

5.企业策略

在使用多名不同用户、容器或虚拟机时,你可以 使用Enterprise Policy来确保不能在不应使用GitHub Copilot的用户账户下激活Copilot

使用Visual Studio Code的策略包,你可以轻松屏蔽Copilot:

"extensions.allowed": {
    "GitHub.copilot-chat": false,
    "GitHub.copilot": false
}

企业策略在Windows、Linux和 Mac上可用。

6.网络设置

在运行在独立虚拟机中的情况下,也可以阻止对某些主机的访问:

通过阻止对以下主机的访问:

*.business.githubcopilot.com
*.enterprise.githubcopilot.com
*.individual.githubcopilot.com

你就可以阻止Copilot自行启用。例如,你可以将以下内容添加到虚拟机的hosts文件中:

127.0.0.1 *.business.githubcopilot.com
127.0.0.1 *.enterprise.githubcopilot.com
127.0.0.1 *.individual.githubcopilot.com

这将完全阻止Copilot的启用,甚至对Copilot CLI和其他IDE也同样有效。

7.阻止对驱动器的访问

当你把敏感文件存放在加密的驱动器或分区上时,可以通过简单地“锁定”驱动器来阻止访问该驱动器。Windows有内置的BitLocker功能可用来加密驱动器,你还可以将其配置为启动时不自动解锁。这样就可以防止一个正在使用Copilot的 Visual Studio Code窗口访问你的敏感文件。

在Linux和 macOS上也存在类似的驱动器加密功能。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章