如何阻止VSCode DevContainer环境自动加载Copilot?
阻止Dev Container自动安装Copilot扩展
问题描述
我在devcontainer配置中仅指定了以下扩展:
"customizations": { "vscode": { "extensions": [ "elmtooling.elm-ls-vscode", "esbenp.prettier-vscode", "firsttris.vscode-jest-runner", "vitest.explorer", "vscodevim.vim" ] } }
但VSCode仍自动安装了我不需要的Copilot相关扩展,安装日志如下:
[22:17:27] Extension 'esbenp.prettier-vscode' v12.1.1 was successfully installed. [70978 ms] [22:17:29] Extracted extension to file:///home/node/.vscode-server/extensions/github.copilot-chat-0.33.5: github.copilot-chat [71037 ms] [22:17:29] Renamed to /home/node/.vscode-server/extensions/github.copilot-chat-0.33.5 [71236 ms] [22:17:29] Extension installed successfully: github.copilot-chat file:///home/node/.vscode-server/extensions/extensions.json [72205 ms] [22:17:30] Extracted extension to file:///home/node/.vscode-server/extensions/github.copilot-1.388.0: github.copilot [72253 ms] [22:17:30] Renamed to /home/node/.vscode-server/extensions/github.copilot-1.388.0 [72410 ms] [22:17:30] Extension installed successfully: github.copilot file:///home/node/.vscode-server/extensions/extensions.json
官方文档提到:
extensions array:指定容器创建时应安装的扩展ID数组,默认为[]。
文档未明确保证不会安装其他扩展,但这种无法控制的情况令人困扰,我需要彻底阻止Copilot被安装。
我的VSCode版本信息:
Version: 1.106.1 Commit: cb1933bbc38d329b3595673a600fab5c7368f0a7 Date: 2025-11-16T10:20:23.745Z Electron: 37.7.0 ElectronBuildId: 12781156 Chromium: 138.0.7204.251 Node.js: 22.20.0 V8: 13.8.258.32-electron.0 OS: Linux x64 6.8.0-90-generic
解决方法
1. 禁用扩展同步
在devcontainer配置的customizations.vscode.settings中添加同步禁用设置,避免本地扩展同步到容器:
"customizations": { "vscode": { "extensions": [ "elmtooling.elm-ls-vscode", "esbenp.prettier-vscode", "firsttris.vscode-jest-runner", "vitest.explorer", "vscodevim.vim" ], "settings": { "extensions.sync.enabled": false, "extensions.autoUpdate": false } } }
2. 明确排除Copilot扩展
在devcontainer配置中添加扩展排除规则,直接禁止Copilot安装:
"customizations": { "vscode": { "extensions": [ "elmtooling.elm-ls-vscode", "esbenp.prettier-vscode", "firsttris.vscode-jest-runner", "vitest.explorer", "vscodevim.vim" ], "settings": { "extensions.experimental.installIntoContainer": { "github.copilot": false, "github.copilot-chat": false } } } }
3. 检查工作区扩展配置
查看项目根目录下的.vscode/extensions.json,如果其中包含github.copilot或github.copilot-chat,直接删除相关条目。
4. 启动时清理扩展(临时方案)
如果以上方法无效,可以在devcontainer配置中添加启动命令,自动删除Copilot扩展目录:
"overrideCommand": "rm -rf /home/node/.vscode-server/extensions/github.copilot* && /usr/local/share/code-server/bin/code-server"
内容的提问来源于stack exchange,提问作者Lukasz Guminski
相关产品推荐
相关产品推荐

