alignment插件对齐json前必须先换行,单行json如{"name":"alice","age":25}按ctrl+alt+a无效;须先用pretty json格式化为多行,再手动选中键值对区域(不含{}、空行、注释),并配置"alignment_chars": [":"]方可对齐冒号。

Alignment插件对齐JSON前必须先换行
单行JSON如{"name":"Alice","age":25}按Ctrl+Alt+A完全没反应——Alignment不处理换行逻辑,只做多行文本的视觉对齐。必须先用Pretty JSON展开结构:
- 全选JSON →
Ctrl+Shift+P→ 输入Pretty JSON: Format JSON(确保右下角语言模式是JSON) - 若已换行但缩进混乱,可补用
Ctrl+Shift+P→Reindent - 对齐前手动选中键值对区域,**不包含
{和}**,也不含空行或注释行
冒号对齐必须改alignment_chars配置
默认Alignment只识别=,对:无效。要让"name": "Alice"中的冒号成为对齐锚点,得修改用户设置:
- 菜单 →
Preferences→Package Settings→Alignment→Settings – User - 填入:
{ "alignment_chars": [":"], "alignment_space_chars": [":"] } -
alignment_space_chars会自动统一冒号前后空格(如把"age" : 25变成"age": 25),但它不区分JSON语法位置——"url": "https://a:b@c"里的协议分隔符:也会被处理
选区错误是90%对齐失败的直接原因
插件不会报错,只会静默跳过不匹配的行。常见选区陷阱:
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
- 只选中
"name": "Alice"这一行 → 至少两行才触发对齐 - 多选了
{或}→ 插件找不到:,直接失效 - 混入
// "age": 25这类带注释的行 → 注释内容被当作文本拉偏对齐列 - 某行漏冒号(如
"error"无值)→ 整块对齐崩掉,且无提示 - 安全做法:
Ctrl+Click逐行点选键值行,避开括号、空行、注释
别指望Alignment修复JSON合法性或编码问题
它只动空格,不管语义。以下问题Alignment完全不感知,但会导致后续出错:
- 尾随逗号、单引号、
undefined字段 → 对齐后仍是非法JSON,python -m json.tool校验不过 - 文件编码是
UTF-8 with BOM→Pretty JSON会报错,但Alignment照常运行,结果可能乱码 - 右下角显示
Plain Text而非JSON→ 人工选区时容易把字符串内的:(如"msg": "x:y")误当键值分隔符
真正麻烦的从来不是快捷键按哪几个,而是你有没有在按Ctrl+Alt+A前确认:JSON能被命令行校验通过、编码是纯UTF-8、语言模式设对了——少一项,对齐出来的就是个好看但跑不通的假象。










