必须同时关闭extensions.autoUpdate、extensions.autoCheckUpdates和workbench.enableExperiments三项配置,并处理插件专属开关、工作区覆盖及远程环境设置,否则GitLens等插件仍会弹窗或静默预加载。

必须同时关闭三个配置项才能真正禁用插件自动更新
只设 extensions.autoUpdate: false 不够,VSCode 插件更新有三层独立机制,漏掉任一都会导致右下角弹窗、后台轮询或静默下载。
这三个字段必须**同时显式写入用户级 settings.json**(路径:Ctrl+Shift+P → Preferences: Open User Settings (JSON)):
-
"extensions.autoUpdate": false—— 阻止自动下载和安装 -
"extensions.autoCheckUpdates": false—— 停掉每小时一次的 HTTP 版本探测请求 -
"workbench.enableExperiments": false—— 关闭新版通知框架,否则 GitLens 等插件仍走vscode.window.showInformationMessage弹气泡
GUI 设置界面不同步风险高,尤其用了 Settings Sync 或团队模板时;务必手动编辑 JSON 并保存。
为什么关了全局开关,GitLens/ESLint/Prettier 还在弹“New release available”
这些插件不读 VSCode 的通用开关,而是各自实现检查逻辑。你得进它们的专属配置里关掉通知源头:
- GitLens:
"gitlens.advanced.messages": [](清空消息数组),顺手加"gitlens.telemetry.enabled": false防部分版本借遥测反向触发 - ESLint:
"eslint.packageManager": null(禁用自动检测,某些版本靠它触发升级检查) - Prettier:
"prettier.enableUpdateCheck": false(v9.13.0+ 支持;若无效,说明你装的是旧版,需先升级插件再设该值)
搜不到对应字段?直接在 settings.json 里手敲一行,保存后重启 VSCode 生效。
如何让 Prettier v3.4.1 这类特定版本不再升级
VSCode 原生不支持语义化版本锁定(如 prettier@3.4.1),但能通过「本地安装 + 文件权限」实现事实冻结:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 在 Extensions 视图中右键目标插件 →
Uninstall - 去 marketplace 页面打开插件详情页,点
Download Extension,手动下载对应.vsix文件(注意核对发布时间和版本号) - 运行命令
Extensions: Install from VSIX安装该文件 - 安装完成后,进入插件目录:
Windows:%USERPROFILE%\.vscode\extensions\
macOS/Linux:$HOME/.vscode/extensions/
找到对应文件夹(如esbenp.prettier-vscode-3.4.1),设为只读
VSCode 不会对本地安装的插件发起任何版本检查,只读权限则防止其他插件或脚本意外覆盖。
最容易被忽略的覆盖源:工作区和远程设置
你设好了全局 "extensions.autoUpdate": false,但一打开某个项目,插件又开始升级——大概率是项目根目录下的 .vscode/settings.json 里写了 "extensions.autoUpdate": true。
VSCode 配置优先级是:工作区 > 用户 > 默认。CI 脚本、脚手架(如 create-react-app 模板)常自带这类配置。
检查方式:
Ctrl+Shift+P → Preferences: Open Workspace Settings (JSON),确认无冲突项。
若需统一禁用,就在工作区设置中显式写入 "extensions.autoUpdate": false 覆盖父级。
另外,Remote-SSH 或 Dev Container 环境的服务端也有独立 settings.json,左下角状态栏点 Remote 图标 → Open Remote Settings,同样要同步关掉那三个字段。

















