想要彻底禁用插件自动更新,必须同时关闭两个关键开关——extensions.autoCheckUpdates 和 extensions.autoUpdate。仅关闭其中一个无法生效,后台仍然会发起HTTP请求,甚至可能静默覆盖你的调试工具。此外,还需清理残留通知、锁定关键插件,并添加启动参数,才能真正锁死更新路径。

在CodeBuddy中调试接口时,最怕插件突然自动更新——断点失效、请求拦截丢失、调试面板闪退,这一连串问题让人非常头疼。因此,彻底关闭自动更新是保证调试流程稳定的前提。
关闭插件自动检查与安装双通道
仅关闭“自动安装”并不等于停止更新。在VS Code的底层架构中,extensions.autoCheckUpdates 负责后台轮询,extensions.autoUpdate 控制静默覆盖。这两个选项必须同时设为假,否则每隔一小时,系统就会发起HTTP请求,并在右下角弹出通知气泡。
操作很简单:按下 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Preferences: Open User Settings (JSON),回车后,在最外层花括号 {} 中添加下面两行代码(注意前一行末尾加英文逗号):
"extensions.autoCheckUpdates": false,"extensions.autoUpdate": false
【必须同步写入,缺一不可】 如果只将 autoUpdate 设为 false,插件仍会联网检测新版本并在调试中途弹出「Update available」;若只关闭 autoCheckUpdates,则检测到更新后可能直接覆盖安装,导致接口调试器模块加载失败。
清除残留通知与强制刷新状态
配置虽然生效了,但之前触发的更新提示不会自动消失,它们仍会顽固地钉在右下角,干扰调试时的注意力。
按下 Ctrl+Shift+P,输入并执行 Notifications: Clear All Notifications。
这一步不能跳过。点击 × 只能隐藏单次弹窗,GitLens、ESLint 等插件的通知由独立 API 注册,× 无法清除队列,下次空闲时又会重新刷出。
锁定特定调试插件不升级
CodeBuddy 中常用的 REST Client、Thunder Client,或者你们团队自研的接口调试扩展,版本兼容性非常敏感。即便全局禁用了更新,仍需要对这些关键插件再加一把锁。
方法一:图形界面锁定
在左侧扩展面板搜索目标插件名,点击右下角齿轮图标,选择 Extension Settings,关闭其专属的 Auto Update 开关(部分插件此选项独立于全局设置)。
方法二:JSON 针对性屏蔽
回到 Preferences: Open User Settings (JSON),在已有配置下方追加(示例以 REST Client 为例):"rest-client.autoUpdate": false
不同插件的字段名不统一,需打开该插件设置页,鼠标悬停在开关上查看实际的 key 名称——不要轻信插件市场页面写的“no auto-update”,实测中常有遗漏项。
启动时强制隔离更新进程
图形界面和 settings.json 的设置,有时会被工作区配置覆盖,甚至被 CodeBuddy 的启动脚本重置。最稳妥的方法是用命令行参数启动。
退出所有 CodeBuddy 实例,打开终端,执行:
codebuddy --disable-extension-updates
这个参数每次启动都生效,不依赖任何配置文件读取,绕过所有 GUI 层级的覆盖逻辑。Windows 用户若快捷方式勾选了“以管理员身份运行”,请取消勾选后再测试,否则参数可能被权限策略拦截。
