Sublime 的 JSON 配置文件原生不支持注释,因 JSON 标准(RFC 8259)明确禁止;可行替代是用 "_comment" 等字符串键模拟注释,或拆分配置+外部 README 说明。

Sublime 的 JSON 配置文件(如 Preferences.sublime-settings、Key Bindings.sublime-keymap)**原生不支持注释**——只要写入 // 或 /* */,保存后 Sublime 就会报错:Expected value in JSON,并拒绝加载该配置。
为什么 JSON 配置里不能加注释
JSON 标准(RFC 8259)明确禁止注释。Sublime 的解析器严格遵循这一规范,不是“没实现”,而是“不能实现”。哪怕只多一个 //,整个文件就不再是合法 JSON,Sublime 会直接忽略或崩溃加载。
替代方案:用字符串字段模拟注释
实际可行且被广泛采用的做法,是把说明文字放在一个**合法的字符串键值对中**,键名用下划线开头(如 "_comment" 或 "_note"),确保它不会干扰功能逻辑:
{
"_comment": "以下为自定义快捷键:Ctrl+Alt+L 用于格式化当前文件",
"keys": ["ctrl+alt+l"],
"command": "reindent"
}
- Sublime 完全接受这种写法,不会报错,也不会影响功能执行
- 所有以
_开头的键名在社区约定中视为“元信息”,插件和用户都默认忽略 - 注意:不要用
//包裹这行,"_comment"本身是字符串值,不是语法注释
更安全的实践:拆分配置 + 外部 README
如果你的配置越来越复杂(比如大量自定义 key binding 或 syntax-specific 设置),硬塞注释字符串容易混乱。推荐:
- 把主配置文件保持“纯功能”,不加任何
_comment - 另建一个
README.md或notes.txt放在Packages/User/目录下,逐条解释每项配置的作用和修改原因 - 用 Sublime 的
Package Control: List Packages和Preferences: Settings – Syntax Specific等命令定位真实生效路径,避免改错文件
真正容易被忽略的是:很多人以为把注释写在 JSON 文件末尾、用换行隔开就“没事”,但只要解析器读到非法字符,就会截断——哪怕只差一个空格,reindent 键绑定也可能突然失效。宁可多开一个文本文件写说明,也别碰 JSON 的语法边界。











