必须同时设置"extensions.autoUpdate": false、"extensions.autoCheckUpdates": false和"workbench.enableExperiments": false,并为GitLens、ESLint等插件配置专属静音项(如gitlens.advanced.messages=[]),全部写入用户settings.json,否则仍会弹窗、轮询或崩溃。

禁用 VSCode 插件自动更新本身不会直接提升 JavaScript 运行性能,但能显著减少编辑器卡顿、Extension host 崩溃和保存延迟——这些才是你感知到的“性能下降”真实来源。
为什么关了 autoUpdate 还在弹窗、卡顿甚至崩溃
因为 extensions.autoUpdate 只控制“是否自动安装”,不阻止插件自己轮询版本、下载包或调用 vscode.window.showInformationMessage 弹气泡。GitLens、ESLint、Prettier 这些插件完全绕过 VSCode 通用更新通道:
-
extensions.autoCheckUpdates: false才真正停掉每小时一次的 HTTP 轮询(否则日志里持续出现Checking for extension updates) -
workbench.enableExperiments: false必须同步关闭,否则新版通知框架仍会触发右下角 toast - 只设
autoUpdate为false,插件可能已静默拉取新包,等你重启时直接覆盖安装并引发兼容问题
必须手动加进 settings.json 的三项配置
GUI 设置常不同步,尤其用了 Settings Sync 或远程开发时。所有配置必须显式写入用户级 settings.json(路径:Ctrl+Shift+P → Preferences: Open User Settings (JSON)):
-
"extensions.autoUpdate": false—— 阻止自动下载+解压+覆盖 -
"extensions.autoCheckUpdates": false—— 停掉后台 HTTP 请求,避免带宽/CPU 消耗 -
"workbench.enableExperiments": false—— 关闭新版通知框架,否则 GitLens 等仍走showInformationMessage
漏掉任一,右下角都可能钉着“New version of XXX is available”且点 × 不消失。
GitLens / ESLint / Prettier 这些插件怎么真正静音
它们不读全局开关,只认自家字段。搜不到对应设置?直接在 settings.json 里加一行,保存后重启生效:
- GitLens:
"gitlens.advanced.messages": [](清空数组),顺手加"gitlens.telemetry.enabled": false防遥测反向触发 - ESLint:
"eslint.packageManager": null(禁用自动检测 npm/yarn/pnpm,某些版本靠它触发升级检查) - Prettier:
"prettier.enableUpdateCheck": false(v9.13.0+ 支持),若无效,改用本地安装 + 文件夹设只读
别信插件市场页写的“no notifications”——2026 年发布的 GitLens v17.2.0 和 Prettier v9.14.0 仍默认开启 release 提示,且无 GUI 开关。
如何锁定插件版本防止被任何方式覆盖
VSCode 原生不支持语义化版本锁定(如 prettier@3.4.1),但可通过文件权限实现事实冻结:
- 先卸载当前版本(Extensions 视图右键 → Uninstall)
- 去 marketplace 页面点「Download Extension」,手动下载指定版本的
.vsix文件(核对发布时间和版本号) - 运行命令
Extensions: Install from VSIX安装该文件 - 进入插件目录:
%USERPROFILE%\.vscode\extensions\(Windows)或$HOME/.vscode/extensions/(macOS/Linux) - 找到对应文件夹(如
esbenp.prettier-vscode-3.4.1),设为只读(Windows 右键属性勾选;Linux/macOS 执行chmod 444 "foldername")
最易忽略的是:VSCode 大版本升级或 Snap/Flatpak 更新后,settings.json 可能被重置,且插件目录权限不会自动继承——每次手动升级后,必须重设只读。



















