Sublime无法自行关联JSON文件,必须通过操作系统设置:Windows需在“打开方式”中勾选“始终使用”并指向真实sublime_text.exe路径,macOS需用lsregister注册Launch Services并配置UTI类型public.json。

Sublime 不能靠自己“关联 JSON 文件”,必须由操作系统决定双击时谁来打开 .json —— 你改的是 Windows/macOS 的文件类型策略,不是 Sublime 的设置。
Windows 上双击 .json 还是用微信开发者工具或 VS Code?
这不是 Sublime 没装好,而是系统根本没把 .json 扩展名绑定到 sublime_text.exe。右键选了“始终使用”却无效?大概率是以下任一情况:
- 你在“打开方式”里点的是快捷方式(
sublime_text.exe.lnk),不是真实可执行文件 - 注册表或系统设置里写的路径是
C:Program FilesSublime Textsublime_text.exe,但少了一个反斜杠或引号没闭合,导致注册表写入失败 -
.json根本没出现在「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」列表里(说明系统还没识别过该类型)
解决方法:先右键任意一个 .json 文件 → “打开方式” → “选择其他应用” → 浏览到真实 sublime_text.exe 路径(例如:C:\Program Files\Sublime Text\sublime_text.exe),务必勾选“始终使用此应用打开 .json 文件”。做完后,再进系统设置页确认该条目右侧图标确实指向这个 .exe,不是灰色图标或“更多应用”字样。
macOS 上 Finder 双击 .json 不启动 Sublime?
终端能跑 subl file.json ≠ Finder 双击能调用它。GUI 环境(Spotlight、Dock、Finder)完全不读 shell 的 PATH 或 ~/.zshrc,只认 Launch Services 注册表。
- 先检查软链接是否存在:
ls -l /usr/local/bin/subl,输出应指向/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl - 若不存在,手动建:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl - 然后注册 MIME 类型关联:
defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.json;LSHandlerRoleAll=com.sublimetext.4;}' - 最后刷新缓存:
lsregister -f "/Applications/Sublime Text.app"(路径含空格必须加引号)
注意:public.json 是 macOS 对 .json 的标准 UTI 类型,别写成 text/json 或 application/json —— 那些在 Launch Services 里不生效。
Sublime 内部怎么让 .json 文件高亮+格式化?
系统关联解决“谁来打开”,Sublime 自身配置解决“打开后怎么显示和编辑”。两件事必须分开处理:
- 确保右下角语言模式是
JSON:点右下角当前模式(如Plain Text)→ 选Open all with current extension as… → JSON - 安装
Pretty JSON插件:按Ctrl+Shift+P→ 输入Install Package→ 搜Pretty JSON安装 → 再按Ctrl+Shift+P→ 输入Pretty JSON: Format JSON即可美化 - 避免中文被转义:在用户设置里加
"json_translate_unicode": false,否则{"姓名": "张三"}会变成{"u59d3u540d": "u5f20u4e09"}
如果打开 .json 后全是白底黑字、无任何颜色,说明语法没识别成功 —— 此时不要怀疑插件,先确认文件扩展名确实是 .json(没有隐藏的 .json.txt),且右下角显示的是 JSON 而非 JavaScript 或 Plain Text。
最容易被忽略的一点:Windows 上改完系统关联后,已打开的资源管理器窗口不会自动刷新,旧的 .json 文件可能仍沿用旧关联;macOS 上改完 Launch Services 后,Spotlight 缓存也可能延迟几秒。别急着重装 Sublime,先关掉所有资源管理器/Finder 窗口,再新建一个空白 .json 文件测试。











