ctrl+alt+m压缩json仍多行是因为未全选内容,该命令默认仅作用于选区;需先ctrl+a全选再执行,否则只压缩光标所在局部。

为什么Ctrl+Alt+M压缩JSON后还是多行?
不是插件没生效,而是你没选中全部内容——Pretty JSON: Minify JSON命令默认只作用于当前选区,不选中就只压缩光标所在那一小段。常见错误是直接按快捷键,结果只压了一行或一个字段。
- 必须全选:按
Ctrl+A(Windows/Linux)或Cmd+A(macOS)再执行Ctrl+Alt+M(Win/Linux)或Cmd+Alt+M(macOS) - 大文件别硬刚:>1MB时容易卡顿,改用
Ctrl+Shift+P→ 输入Pretty JSON: Format Selection,分段选中压缩 - 中文变\uXXXX?检查插件设置里是否加了
"ensure_ascii": false,否则压缩后中文全被转义
JSON Lines格式怎么一键压缩成单行流?
Pretty JSON默认不认JSON Lines(每行一个JSON对象),直接压缩会报错Invalid JSON: Expecting property name——因为第二行开头不是{而是换行符。
- 先手动拆开:用
Ctrl+H打开替换,正则模式勾选,查找\n(?={),替换成(一个空格),把多行拼成一行数组形式 - 再套一层:在开头加
[,结尾加],变成合法JSON数组,再跑Pretty JSON: Minify JSON - 不想改结构?用
Ctrl+Shift+P→Pretty JSON: Minify JSON,它支持逐行校验,但需确保每行本身是独立合法JSON
压缩完想快速展开看结构,为什么Ctrl+K,Ctrl+J没反应?
压缩后的JSON是纯字符串,没有嵌套层级,Sublime 默认无法折叠——Ctrl+K,Ctrl+J只对语法识别出的代码块有效,而单行JSON被当成普通文本。
- 先恢复格式化:按
Ctrl+Alt+J(Win/Linux)或Cmd+Alt+J(macOS)把单行JSON重新美化成多行 - 再折叠:此时右下角显示
JSON语法,Ctrl+K,Ctrl+1就能折叠所有对象和数组 - 注意光标位置:如果光标落在字符串值内部(如
"name": "foo|bar"),折叠命令会静默失败,移到行首再试
快捷键冲突导致压缩/格式化失效,怎么排查?
Ctrl+Alt+M和Ctrl+Alt+J常被Emmet、输入法或旧插件劫持,不是插件坏了,而是键位被覆盖。
- 查绑定:进
Preferences → Key Bindings,看用户键位文件里有没有其他ctrl+alt+m或ctrl+alt+j定义 - 查加载状态:右键菜单里没有
Pretty JSON → Minify JSON,说明插件没加载成功,重启Sublime再试 - 临时绕过:用命令面板
Ctrl+Shift+P直接搜Pretty JSON: Minify JSON,确认功能本身可用
JSON、编码是不是UTF-8、内容有没有尾随逗号——漏掉任何一项,后面所有快捷键都只是在原地打转。











