必须手动设置"auto_reload": true才能启用自动重载,这是唯一有效开关;其他字段如always_reload_on_change均无效。需在用户设置中添加该配置并保存,依赖系统监控机制,未保存编辑时会静默覆盖内容。

必须手动设置 auto_reload 为 true,否则 Sublime Text 永远不会自动重载外部修改的文件内容。
怎么正确启用 auto_reload
这是唯一生效的开关,其他如 always_reload_on_change、watch_files 等字段 Sublime Text 完全不识别——加了不仅无效,还可能因 JSON 语法错误导致整个用户配置失效。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Preferences: Settings – User回车 - 在右侧用户配置中添加一行:
"auto_reload": true,确保它位于合法 JSON 对象内(前后逗号位置正确、引号闭合) - 保存文件(
Ctrl+S),无需重启 Sublime Text,立即生效
为什么开了 auto_reload 还不重载?
它依赖系统级文件监控(Linux 用 inotify,macOS 用 fsevents),底层失效时 Sublime 不报错、不提示、也不 fallback,只会静默不工作。
-
WSL2环境下inotify支持极差,尤其对/mnt/c/路径,基本不可靠;建议改用 Windows 原生 Sublime 或换 VS Code - 文件被原子写入(如 Vim、
git checkout、webpack 输出):先写临时文件再rename,Sublime 监听到的是“删除+新建”,无法关联原标签页 - Linux 报
inotify_add_watch failed: No space left on device:实际是fs.inotify.max_user_watches耗尽,需调高内核参数 - macOS 上未授予 Sublime “完全磁盘访问”权限:去「系统设置 → 隐私与安全性 → 完全磁盘访问」中勾选它
auto_reload 和 reload_modified 的行为区别
两者逻辑完全不同,不能互相替代,也不能叠加效果。
-
auto_reload: true是主动监听:一旦系统通知文件内容变更,且当前文件**无未保存编辑**,就立刻静默重载 -
reload_modified: true(默认开启)是被动检查:仅当你切换回该标签页时,比对磁盘mtime,弹出是否重载对话框 - 若同时启用,
auto_reload会接管行为——有未保存内容时仍不弹窗,而是直接丢弃;reload_modified彻底不触发
最危险却最容易被忽略的一点:未保存编辑会被静默覆盖
auto_reload: true 不做任何确认,只要检测到磁盘变更,就直接用新内容替换当前缓冲区。光标在哪、写了多少行、有没有选中内容,全部清空。
- 务必确认
hot_exit和remember_open_files均为true(默认已是,但建议检查) - 如果你常编辑日志、构建输出等只读但频繁变动的文件,可考虑加
"atomic_save": false,但这只影响你自己的保存行为,对外部写入无帮助 - 侧边栏文件树不会随
auto_reload刷新——那是另一套机制;需要刷新目录结构时,执行Refresh Folders命令(需项目已保存)











