alignment插件对齐json键值对必须先换行,它只做视觉对齐、不负责换行或格式化;单行json如{"name":"alice","age":25}按ctrl+alt+a无效,须先用pretty json或reindent展开为多行并手动选中键值对区域(不含{})才能对齐冒号。

Alignment插件对齐JSON键值对必须先换行
Alignment插件只做视觉对齐,不负责换行或格式化。如果你的JSON还是{"name":"Alice","age":25}这种单行格式,按Ctrl+Alt+A完全没反应。
必须先用Pretty JSON或JSON Reindent把JSON展开成多行:
- 全选JSON →
Ctrl+Shift+P→ 输入Pretty JSON: Format JSON(确保右下角语言模式是JSON) - 或用
Ctrl+Shift+P→Reindent(仅当已换行但缩进不一致时用) - 再手动选中键值对区域(比如从
"name": "Alice"到"city": "Beijing",不包含{和})
此时Ctrl+Alt+A才能对齐:左右空格。
对齐冒号前后的空格要靠配置控制
默认Alignment只识别:位置,但不会自动加空格。想让"name" : "Alice"变成"name": "Alice"(冒号后1空格、前0空格),得改配置:
菜单 → Preferences → Package Settings → Alignment → Settings – User,填入:
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
{
"alignment_chars": [":"],
"alignment_space_chars": [":"]
}
"alignment_space_chars"告诉插件:在:前后统一补/删空格。它不认语法,只认字符——所以"url": "https://a:b@c"里的:也会被处理,但不影响JSON合法性。
选区错误是90%对齐失败的原因
常见错误不是插件坏了,而是选得不对:
- 只选中
"name": "Alice"这一行 → 无效(至少两行) - 多选了
{或}→ 插件找不到:,静默失败 - 混入带注释的行(
// "age": 25)→ 注释被当内容拉偏 - 某行漏了冒号(比如
"error"没值)→ 整块对齐崩掉
安全做法:用Ctrl+Click逐行点选键值对,避开空行和括号行。
别指望Alignment修JSON语法或编码
它不管数据是否合法:
- 尾随逗号、单引号、
undefined字段 → 对齐后仍是非法JSON - 文件编码是
UTF-8 with BOM→Pretty JSON会报错,但Alignment照常运行,结果可能乱码 - 右下角显示
Plain Text而非JSON→ 冒号可能被误判为字符串内符号(虽然Alignment不解析语法,但人工选区容易错)
真正麻烦的从来不是怎么按快捷键,而是你有没有在选中前确认:JSON能被python -m json.tool校验通过、编码是纯UTF-8、语言模式设对了——少一项,对齐出来的就是个好看但跑不通的假象。










