彻底关闭vscode更新提示需三步:设update.mode为"none"并禁用windows后台更新;extensions.autocheckupdates和autoupdate均设false;关notifications: toasts且禁用workbench.enableexperiments。

关掉 VSCode 更新提示弹窗,不能只靠点“×”或切静默模式——那些只是临时遮盖,真正起效的是同时切断主程序更新、插件轮询、通知通道三路信号。只改 update.mode 或只关 extensions.autoUpdate,都会漏掉某类弹窗。
关主程序更新:必须设 update.mode 为 "none",不是 "manual"
VSCode 默认的 update.mode: "default" 会静默下载安装包并弹窗;"manual" 仍会拉取更新、弹“重启应用”气泡;只有 "none" 才彻底禁用检查与下载逻辑。
- Windows 用户额外加
"update.enableWindowsBackgroundUpdates": false,否则系统级update.exe进程可能绕过设置联网 - macOS/Linux 建议补
"update.showReleaseNotes": false,避免每次启动弹 changelog - 改完不用重启即生效,但建议立刻执行 Help → Check for Updates 验证:菜单项应变灰,且无任何响应
停插件自动轮询和静默安装:extensions.autoCheckUpdates 和 extensions.autoUpdate 必须都设 false
这两个开关完全独立:autoCheckUpdates 控制是否每小时发 HTTP 请求扫描新版本;autoUpdate 控制检测到后是否自动下载覆盖。只关一个,右下角照样弹「New version of Python is available」。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
- 若项目根目录存在
.vscode/settings.json,它会覆盖用户级设置,务必检查该文件里没写"extensions.autoUpdate": true - Remote-SSH 或 Dev Container 场景下,远程端的
settings.json也需同步配置,否则本地关了,远程服务仍在拉新包 - 禁用后不影响手动更新:Ctrl+Shift+X → ⋯ → Check for Extension Updates,有更新才出现蓝色按钮
压住右下角 toast 弹窗:关 Notifications: Toasts + 禁用实验性通知框架
VSCode 的右下角弹窗分两类:通用 toast(如「Extension updated」)和插件自定义调用(如 GitLens 的 release 提示)。前者靠 Notifications: Toasts 开关控制;后者多数依赖新版通知框架,而框架由 workbench.enableExperiments 启用。
- 在设置中搜
Notifications: Toasts,设为off—— 这是首选项,不改文件、可逆、兼容所有版本 - 必须同时设
"workbench.enableExperiments": false,否则 GitLens、Prettier 等插件的通知仍会穿透出来 - 已卡住的残留气泡不会自动消失,需手动执行命令面板中的 Notifications: Clear All Notifications
防配置被重写:给 settings.json 加只读权限,别碰 product.json
VSCode 升级(尤其是大版本)时会重写用户 settings.json,把 "none" 改回 "default"。这不是 bug,是设计行为。物理锁定比反复检查更可靠。
- Windows:右键
%APPDATA%\Code\User\settings.json→ 属性 → 勾选“只读” - macOS/Linux:终端执行
chmod 444 $HOME/Library/Application\ Support/Code/User/settings.json(macOS)或chmod 444 $HOME/.config/Code/User/settings.json(Linux) - 别去改
product.json:它位于安装目录内,升级必被覆盖,且可能触发校验失败
最易被忽略的点是配置优先级:Workspace > Remote > User。你改对了用户设置,却忘了项目里有个 .vscode/settings.json,或者连着 Remote-SSH 时远程机器根本没配,弹窗就永远关不干净。










