vscode怎么关更新

5次阅读

禁用vscode主程序及扩展自动更新需设update.mode为”none”、extensions.autoupdate为false,并设settings.json只读;项目内局部配置可能覆盖全局设置。

vscode怎么关更新

直接关 VSCode 主程序自动更新

VSCode 的主程序更新默认是开启的,不关的话它会在后台偷偷下载、弹窗提醒,甚至重启时自动升级——尤其在你正调试关键逻辑时特别烦人。update.mode 是控制这个行为的核心配置,设为 "none" 才算真正禁用,而不是只关通知。

  • 打开设置(左下角齿轮 → Settings),搜索 update mode,把 Update: Mode 改成 none
  • windows 用户务必顺手取消勾选 Update: Enable Windows background Updates,否则系统级更新服务仍可能绕过设置拉取新版本
  • 改完不用重启 VSCode 也能生效,但建议重启一次确认右下角不再出现“有新版本”提示
  • 注意:这个设置只影响 VSCode 自身,不影响扩展更新——那是另一套机制

必须同步关闭扩展自动更新

很多人关了主程序更新,结果发现插件还在半夜自己升级,导致和当前 VSCode 版本不兼容、功能异常,甚至报错 Extension host terminated unexpectedly。这是因为扩展更新由独立开关控制,和主程序无关。

  • 在设置里搜 extensions auto update,把 Extensions: Auto Update 设为 false
  • 或者直接编辑 settings.json,加一行:"extensions.autoUpdate": false
  • 关掉后,手动更新方式不变:Ctrl+Shift+X 进扩展面板 → 点右上角 … → Check for Extension Updates
  • 别漏掉 extensions.autoCheckUpdates,它控制是否定期扫描更新,也建议设为 false,避免后台轮询

防重置:给配置文件加只读权限(Windows/macos/linux 通用)

VSCode 在某些更新流程中会重写用户配置,尤其是升级到大版本时,settings.json 里的 update.mode 可能被悄悄改回 default。光靠设置界面点几下不够稳。

  • 找到你的 settings.json 文件位置:
    Windows:%APPDATA%CodeUsersettings.json
    macOS:$HOME/Library/Application Support/Code/User/settings.json
    Linux:$HOME/.config/Code/User/settings.json
  • 右键文件 → 属性 → 勾选“只读”(Windows)或终端执行 chmod 444 settings.json(macOS/Linux)
  • 注意:只读的是用户配置文件,不是 product.json —— 那个是安装包内置文件,改了也没用,还可能被覆盖

为什么不能只靠 GUI 设置?

图形界面改设置最方便,但它只写进 settings.json,而 VSCode 启动时会按优先级合并多个配置源:工作区设置 > 用户设置 > 默认设置。如果项目根目录有 .vscode/settings.json,且里面写了 "update.mode": "default",那它会覆盖你全局设的 none

  • 检查项目内有没有局部 settings.json,特别是团队项目,有时 CI 脚本或模板会自带更新配置
  • 命令行启动 VSCode 时加 --disable-extensions--user-data-dir 会绕过部分配置,这种场景下 GUI 设置也不起作用
  • 如果你用的是 Portable 版或 Snap 包(Linux),更新机制完全不同,GUI 设置基本无效,得走对应平台的禁用流程

关更新不是一劳永逸的事。每次大版本升级、重装系统、换设备,或者团队共享配置时,都得再核对一遍 update.modeextensions.autoUpdate 是否还在生效——最容易被忽略的,就是那个被项目配置悄悄覆盖的瞬间。

text=ZqhQzanResources