禁用 VSCode 自动更新需三步:设 update.mode 为 "none" 并关闭 Windows 后台更新;关 Extensions: Auto Update 和 Auto Check Updates;锁定 product.json 文件权限并添加 updateMode 和 extensionsAutoUpdate 字段。

直接关 VSCode 主程序自动更新
VSCode 的主程序更新默认是开启的,不关的话它会在后台偷偷下载、弹窗提醒,甚至重启时自动升级——尤其在你正调试关键逻辑时特别烦人。update.mode 是控制这个行为的核心配置,设为 "none" 才算真正禁用,而不是只关通知。
- 打开设置(左下角齿轮 → Settings),搜索
update mode,把Update: Mode改成none - Windows 用户务必顺手取消勾选
Update: Enable Windows Background Updates,否则系统级更新服务仍可能绕过设置拉取新版本 - 改完不用重启 VSCode 也能生效,但建议重启一次确认右下角不再出现“有新版本”提示
- 注意:这个设置只影响 VSCode 自身,不影响扩展更新——那是另一套机制
同步关闭扩展(插件)自动更新
很多人关了主程序更新,结果发现插件还在半夜自己升级,导致和当前 VSCode 版本不兼容、功能异常,甚至报错 Extension host terminated unexpectedly。这是因为扩展更新由独立开关控制,和主程序无关。
- 在设置中搜索
auto update,找到Extensions: Auto Update,改为false或从下拉菜单选none - 顺手检查
Extensions: Auto Check Updates是否也已取消勾选 - 如果项目里用了
.vscode/settings.json,记得确认它没覆盖全局设置——局部配置优先级更高
防更新反弹:锁定 product.json 文件权限
VSCode 每次手动升级后,product.json 文件会被重写,之前加的禁用字段可能丢失。光改设置不够,得从文件层加固。
- Windows 路径:
C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\resources\app\product.json - macOS 路径:
/Applications/Visual Studio Code.app/Contents/Resources/app/product.json - Linux(.tar.gz 版):
/usr/share/code/resources/app/product.json - 编辑该文件,加入
"updateMode": "none"和"extensionsAutoUpdate": false字段 - 保存后设为只读(Windows 右键属性勾选“只读”;Linux 执行
sudo chattr +i product.json)
临时禁用或彻底阻断:命令行与系统级补漏
有些场景下设置可能被绕过,比如企业环境有组策略推送,或者安装包自带后台服务。这时候需要多一层兜底。
- 启动时加参数临时禁用:
code --disable-updates(本次会话有效,适合演示或临时调试) - Windows 用户进「任务计划程序」,禁用所有含
vscode或Squirrel字样的任务 - 极简方案:在 VSCode 安装目录下新建空文件
disable_update_check(部分旧版仍识别此标记) - 不推荐用防火墙拦域名——VSCode 更新走的是微软 CDN,地址常变,容易误伤其他服务
最易忽略的是:改完设置后没检查 .vscode/settings.json 是否存在冲突项,以及每次手动升级 VSCode 后必须重锁 product.json。这两处一漏,更新就悄悄回来了。










