Sublime JSON配置不生效主因是语法错误或位置错误:右侧User文件需严格JSON格式(无多余逗号、全英文双引号),且必须在Preferences→Settings右侧编辑;插件配置须放Package Settings对应文件,改后需彻底退出进程确保重载。

Sublime 的 JSON 配置不生效,90% 不是软件坏了,而是配置根本没被加载——Preferences.sublime-settings 文件只要有一个英文逗号多写、引号用成中文、或保存失败,整块用户设置就会被静默跳过,回退到默认值。
检查 Settings – User 是否真在编辑
菜单里打开 Preferences → Settings 是左右分栏:左侧是只读的 Default,每次升级都会重置;右侧才是你该改的 User 文件。很多人直接在左侧敲 "font_size": 14,重启后发现没变化,是因为 Sublime 根本不读左侧内容。
- 右侧初始为空或只有
{},你加的每一项都是覆盖 Default 中同名项 - 如果右侧是空的,
save_on_focus_lost、font_size等设置完全不会生效 - 保存后看窗口标题栏是否有
*,没消失说明文件没真正落盘(比如权限不足或云同步工具锁死)
验证 JSON 语法是否合法
Sublime 对 JSON 错误零容忍且零提示:多一个逗号、少一个引号、用了中文双引号 “”,整个 Preferences.sublime-settings 就被当不存在。你调大 font_size 没反应、关了 detect_indentation 还自动识别缩进,大概率卡在这步。
- 右键当前 Settings 文件 → JSON → Validate(若无此选项,先装
SublimeLinter-json) - 重点检查最后一行是否有多余逗号 —— JSON 不允许尾随逗号
- 所有 key 和字符串值必须用英文双引号
",不能用'或中文引号 - 终端跑
python -m json.tool "$HOME/.config/sublime-text-4/Packages/User/Preferences.sublime-settings"可快速验证(Linux/macOS)
确认插件配置没塞错地方
像 AutoSave、BracketHighlighter 这类插件,根本不读主 Preferences.sublime-settings 里的字段。你把 "auto_save_delay_milliseconds": 1000 贴进去,等于贴在墙上。
- 插件专属配置路径是:Preferences → Package Settings → [插件名] → Settings – User
- 该文件默认是空 JSON 对象
{},直接在里面写键值对即可 - 不确定某配置属于哪边?查插件文档,或看它是否出现在
Package Settings菜单下 - 例如
AutoSave的auto_save_on_focus_lost必须写在它自己的 Settings – User 里,否则无效
排除缓存与进程残留干扰
改完 Settings 重启窗口却没效果,很可能是 Sublime 没真正退出。macOS 和 Windows 托盘常驻进程会继续持有旧配置,导致新设置压根没加载。
- Windows:任务栏右键 Sublime 图标 → “退出”,再检查任务管理器有无残留
subl.exe - macOS:Activity Monitor 搜索
Sublime Text,强制退出所有相关进程 - Linux:终端执行
pkill -f sublime - 极端情况可临时删掉
Cache/目录(路径由sublime.cache_path()返回)
真正生效不靠“保存”动作本身,而靠 Sublime 启动时能否干净加载 User 文件——哪怕只错一个逗号,它就当这文件不存在。最常被忽略的是:改完配置没退出全部进程,或者误把插件配置塞进了主 Settings 文件。


















