开启 auto_reload 的最简配置是:在用户设置中添加 "auto_reload": true 并保存。它依赖系统监控机制,原子写入、inotify 耗尽、macOS 权限缺失或 WSL2 环境下可能失效;与 reload_modified 不同,auto_reload 主动监听并立即重载(无未保存修改时),但会静默覆盖当前编辑内容,需配合 hot_exit 和 remember_open_files 使用。

怎么开启 auto_reload?最简配置一步生效
Sublime Text 默认不监听文件系统变化,外部改了文件它也不会自动更新内容——这是绝大多数人遇到“文件没刷新”的根本原因。唯一有效解法是手动启用 auto_reload 配置。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Preferences: Settings – User回车 - 在右侧用户配置中添加:
"auto_reload": true(确保是合法 JSON,前后逗号位置正确) - 保存文件(
Ctrl+S),无需重启 Sublime,立即生效
注意:这个设置只对当前用户会话起作用;如果用了便携版或多人共用配置,得确认修改的是正确的 Preferences.sublime-settings 文件。
为什么改了文件还是不刷新?常见失效场景
auto_reload 不是万能的,它依赖操作系统底层监控机制,在以下情况大概率静默失效:
- 文件被原子写入(如 Vim、某些构建工具先写
file.tmp再rename)→ Sublime 暂时看不到变更时间戳 - Linux 下
inotify_add_watch failed: No space left on device→ 实际是fs.inotify.max_user_watches耗尽,需执行echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - macOS 上 Sublime 没有「完全磁盘访问」权限 → 去「系统设置 → 隐私与安全性 → 完全磁盘访问」里勾选它
- WSL2 环境下 inotify 本身支持不稳定,
auto_reload基本不可靠,建议改用轮询插件或接受手动Ctrl+R
auto_reload 和 reload_modified 到底有什么区别?
很多人混淆这两个配置,其实它们触发逻辑完全不同:
-
auto_reload: true是主动监听文件系统事件(inotify/fsevents),一旦检测到磁盘内容变化,**立刻重载**(前提是当前文件无未保存修改) -
reload_modified: true(默认开启)是被动检查:只有当你**切换回该标签页**时,Sublime 才比对磁盘 mtime,弹出是否重载提示——它不监听,也不自动动作 - 两者可共存,但行为不叠加;如果你要“静默自动更新”,只靠
reload_modified是不够的
顺带一提:always_reload_on_change 并非官方配置项,部分旧教程误传,加了也无效。
开启 auto_reload 后,我编辑的内容会不会被悄悄覆盖?
会,而且不提醒——这是最危险的一点。
- 如果文件在 Sublime 中有未保存的修改,外部程序又覆盖了磁盘文件,
auto_reload: true会直接丢弃你当前所有编辑,加载磁盘新内容 - 为防误操作,务必同步确认两项配置:
"hot_exit": true(异常退出后恢复未保存内容)、"remember_open_files": true(重启后还原标签页) - 若你常编辑日志、临时生成文件等“只读但高频变动”内容,建议额外加
"atomic_save": false,避免保存时因原子写入干扰外部变更检测
真正关键的不是“能不能自动刷新”,而是“自动刷新时,我的编辑意图有没有被尊重”。这点容易被忽略,但直接影响工作流安全。









