报错提示“expected value”表明.sublime-settings文件存在非法JSON,如多逗号、少引号、中文标点等;Sublime严格校验,须确保双引号、无注释、键名加引号,并仅修改User目录下配置文件。

报错提示 expected value 是 JSON 语法错误
这基本等于告诉你:某个 .sublime-settings 文件里写了非法 JSON,比如多了一个逗号、少了一个引号、或者用了中文标点。Sublime 对 JSON 格式极其严格,连末尾多一个逗号都会直接崩。
常见触发位置:
-
Packages/User/Preferences.sublime-settings或其他插件的xxx.sublime-settings -
Packages/User/SublimeLinter.sublime-settings(尤其新手复制配置时容易带多余{}或换行) -
Packages/Default/Preferences.sublime-settings(权限问题导致写入失败后残留乱码)
实操建议:
- 打开控制台(
Ctrl + `),看第一行错误是否指向具体文件路径,直接去编辑那个文件 - 用在线 JSON 验证器(如 jsonlint.com)粘贴内容检查——别信编辑器自带的高亮,它不报错不代表合法
- 删掉所有注释(
//或/* */),Sublime 的 JSON 不支持注释 - 确保所有字符串用英文双引号
",键名也必须加引号,比如"font_size": 12,不能写font_size: 12
修改 Preferences.sublime-settings 失败,提示权限拒绝
Windows 下装在 C:\Program Files\ 的 Sublime,默认会把 Default 包里的配置文件设为只读。你改完保存,实际是被系统拦截了,但 Sublime 不明说,只静默失败或报奇怪的解析错误。
实操建议:
- 不要硬改
Packages/Default/Preferences.sublime-settings—— 它是只读模板,改了也没用 - 永远只改
Packages/User/Preferences.sublime-settings(菜单 →Preferences → Settings打开的就是这个) - 如果连
User目录下的文件都保存失败,右键文件 → 属性 → 安全 → 编辑当前用户权限,勾选“写入” - 确认文件没被其他程序(如 OneDrive、杀毒软件)锁定
插件配置报错,但 Settings – User 里空空如也
比如 SublimeLinter 更新后,Packages/SublimeLinter/ 下只剩 Settings.sublime-settings 和 Key Bindings.sublime-settings,没有 Settings – User 选项——不是插件坏了,是新版把“用户配置入口”藏得更深了。
实操建议:
- 菜单 →
Preferences → Package Settings → SublimeLinter → Settings,右边就是User栏,直接写 JSON 保存即可 - 别在
Settings – Default里改,那是只读模板,改了不生效 - 如果保存后仍报错,检查是否误加了根级
{},比如写成:{ "sublimelinter": { ... } }—— 正确写法是直接写对象内容,不要套一层 - 插件配置项名要严格匹配文档,比如
"lint_mode"写成"lintmode"就会静默失效
控制台报错但找不到对应插件名
有时候弹窗只说“plugin_host has exited”,控制台滚动太快,或者堆栈被刷掉,根本看不到 File "./Packages/XXX/xxx.py" 这种关键行。
实操建议:
- 启动 Sublime 前先开控制台(
Ctrl + `),再操作,确保第一手日志没丢 - 报错后立刻按
Ctrl + Shift + P→ 输入Package Control: Disable Package,逐个禁用最近装的插件(尤其 linter 类、theme 类) - 禁用后必须重启 Sublime,否则插件仍在内存里运行
- 检查
Preferences → Settings – User里的"ignored_packages",如果有插件名在里面,说明 Sublime 已经自动把它踢出加载队列,这时要手动删掉再重启
配置文件的坑不在语法多难,而在它不给你试错机会——错一个字符就整个挂掉,且错误提示常指向错误文件。最稳的做法,是每次只改一处、保存一次、立刻验证,别贪多。

















