关掉 update_check 就能彻底阻止弹窗,其他设置都是补漏;必须在 user settings 中设 "update_check": false,否则所有操作无效。

关掉 update_check 就能彻底阻止弹窗,其他设置都是补漏——不加这行,后面全白忙。
必须在 User Settings 中设 update_check: false
Sublime Text 弹出 “A New Version is Available” 的根本原因,是它每次启动时主动向 update.sublimetext.com 发起 HTTP 请求比对版本号。只要不让它发这个请求,所有弹窗、状态栏文字、菜单响应就都失去触发源头。
- 打开 Preferences → Settings,只编辑右侧「User Settings」面板(左侧 Default 是只读的,改了也无效)
- 在大括号
{}内添加一行:"update_check": false - 如果前面已有配置(比如
"hot_exit": true),这一行末尾必须加英文逗号,否则 JSON 解析失败,设置不生效 - 保存后大多数情况立即生效;极少数残留弹窗,需完全退出 Sublime Text(macOS 注意 Dock 右键「退出」,Windows/Linux 任务管理器确认无残留进程),再重启一次清空缓存
状态栏和菜单里的 “Update available” 怎么清干净
仅设 update_check: false 能拦住网络请求和主弹窗,但 Sublime Text 4+ 的 UI 层未同步清理,右下角状态栏仍可能显示文字,菜单里也保留着「Check for Updates…」入口。
- 在同一个 User Settings 文件中追加:
"show_update_in_status_bar": false,状态栏文字立刻消失,无需重启 - 若想隐藏菜单项,打开 Preferences → Key Bindings(用户键位文件),添加以下内容:
[ {"caption":"Check for Updates…","command":"hide_menu_item","args": {"name":"Check for Updates…"} } ] - 注意:这个
hide_menu_item命令只是隐藏菜单项,不影响任何功能,也无副作用
Package Control 自己也在偷偷升级?必须单独关
很多人关了主程序更新,结果两天后 Package Control 又弹出 Upgrading packages… 或 Failed to load package list —— 它是独立插件,完全不读取 update_check 设置,有自己的更新逻辑。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入并选择:
Package Control: Settings – User - 在打开的配置中加入两行:
"auto_upgrade": false<br>"enable_upgrade_check": false
- 这两项一加,Package Control 就不再静默拉包、也不会因升级失败反向触发主程序提醒
为什么改了设置还是弹?重点排查这几个地方
常见失效场景不是配置写错,而是环境或进程没清理干净:
- macOS 下用
subl命令打开文件时,如果后台已有旧进程,新窗口会复用它——而旧进程是在你改配置前启动的,仍会触发检查;务必先killall sublime_text再重启 - 便携版(Portable)的配置路径在安装目录下的
Packages/User/Preferences.sublime-settings,别改错位置 - 某些国产安全软件会劫持网络请求,导致 Sublime 误判“无法连接更新服务器”而反复重试,表现为弹窗一闪而过;可临时禁用安全软件,或在防火墙中放行
sublime_text.exe(Windows)或sublime_text(Linux/macOS) - Sublime 的更新检查不仅发生在启动时,还可能在空闲 24 小时后后台触发——所以改完配置不彻底重启,等于没改
最易被忽略的一点:update_check 是唯一真正切断源头的开关,其他所有设置(包括 hosts 屏蔽)都是防御性兜底。如果它没生效,优先检查 JSON 格式、配置位置、进程残留,而不是急着加 hosts 或改默认包。











