禁用vscode插件自动更新需设"extensions.autoupdate": false和"extensions.ignorerecommendations": true,二者缺一不可;仅关ui提示无效,后台node.js进程仍会触发下载、解压、重载,导致低配机卡死或内存溢出。

VSCode 插件自动更新在低配电脑(如 2GB RAM、单核 CPU 的 WSL2 或老旧笔记本)上会触发后台下载、解压、重载三连操作,极易引发卡死或内存溢出——禁用自动更新是比“挑时间手动点”更直接有效的做法。
为什么插件自动更新会卡住低配机
自动更新不是静默完成的:VSCode 会在后台拉起独立 Node.js 进程执行下载 + 校验 + 解压 + 清理旧版本,每个步骤都吃 CPU 和 I/O。尤其当 node_modules 类插件(如 Pylance、ESLint)更新时,还会顺带重建语言服务器缓存,内存峰值轻松突破 500MB。而低配机往往没有 swap 分区或 swap 设置过小,Out of memory 错误频发。
- 自动更新常在你编辑代码中途触发,导致输入延迟、光标卡顿
- 更新失败后残留临时文件(如
.vscode/extensions/*.tmp),下次启动仍尝试恢复,形成恶性循环 - 某些插件(如 GitLens)更新后默认启用新功能,反而激活更多监听器,CPU 占用不降反升
settings.json 中必须关闭的两个开关
仅靠插件面板里点“暂停更新”无效,它只影响 UI 提示,后台任务照常运行。真正起效的是改配置:
- 设
"extensions.autoUpdate": false:彻底禁用所有扩展的后台拉取行为 - 设
"extensions.ignoreRecommendations": true:防止 VSCode 根据你打开的文件类型,悄悄预装推荐插件(比如一开.py就试图装 Pylance)
这两项加进 settings.json 后无需重启,保存即生效。注意不要写错字段名——autoUpdate 中间没有下划线,ignoreRecommendations 是驼峰拼写。
需要手动更新时怎么省资源
完全禁用更新不现实,关键版本修复或安全补丁还得跟。但可以避开高峰期、减小冲击:
- 关掉所有编辑器标签页,只留一个空窗口再点「检查更新」,减少渲染进程竞争
- 更新前先执行
Developer: Show Running Extensions,把非核心插件(如主题、图标类)全部停用,腾出内存余量 - 更新完别急着开项目,先等右下角通知消失、状态栏不再显示「正在激活扩展」,再打开工作区
- 对 Python/TypeScript 等语言服务插件,更新后建议顺手执行
Developer: Reload Window,避免旧语言服务器残留进程
容易被忽略的隐藏消耗点
很多人以为关掉自动更新就万事大吉,但 VSCode 仍可能偷偷加载更新包元数据——尤其当你打开扩展面板时。此时 extensionsGallery 相关请求仍在后台跑,占用网络和解析资源。
更隐蔽的是:部分插件(如 ms-python.python)自带「自动检查更新」子功能,它不受 extensions.autoUpdate 控制。需单独进该插件设置,关掉 python.updateChannel 或设为 "none"。这类细节不查进程管理器(Developer: Open Process Explorer)根本看不到。











