json对齐需先换行再用alignment插件按冒号对齐,且须配置空格规则;嵌套、转义、注释等复杂结构不支持,建议先格式化再局部对齐,并绑定json语法上下文的快捷键。

对齐 JSON 属性前必须先换行,单行 JSON 无法对齐
Alignment 插件只做纯文本视觉对齐,不解析结构、不负责换行或格式化。像 {"name":"Alice","age":25} 这种单行 JSON,按 Ctrl+Alt+A 完全没反应——它连冒号都找不到对齐锚点。
必须先展开成多行:
- 全选 JSON →
Ctrl+Shift+P→ 输入Pretty JSON: Format JSON(确保右下角是JSON语法模式) - 或用
Ctrl+Shift+P→Reindent(仅适用于已换行但缩进混乱的情况) - 再手动选中键值对区域,比如从
"name": "Alice"到"city": "Beijing",**不包含开头的{和结尾的}**
用 Alignment 按冒号对齐,但默认不加空格
对齐后你看到的是 "name" : "Alice" 而不是 "name": "Alice",因为 Alignment 默认只找 : 位置,不自动补空格。
想统一成“冒号后1空格、前0空格”,得改插件配置:
- 打开
Preferences → Package Settings → Alignment → Settings - 添加或修改:
"alignment_chars": [":"]和"alignment_space_chars": [":"] - 再加一行:
"alignment_space_around": {"+": 1, "-": 0}(表示冒号后加1空格、前不加)
嵌套对象和字符串内换行会破坏对齐效果
Alignment 是行粒度操作,遇到以下情况会错乱:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
-
"data": {"a": 1, "b": 2}—— 这整行被当做一个 value,:对齐后,大括号里的内容仍左对齐,且可能挤占空间 -
"path": "C:\folder\file.txt"—— 字符串里含换行或反斜杠,会导致行断裂,Alignment 无法识别完整键值对 - 含注释或单引号的 JSON:Pretty JSON 会直接报错,Alignment 根本不会启动
这类结构建议放弃对齐,或先用 Pretty JSON: Format and Sort JSON 清理+排序,再局部选中简单扁平字段对齐。
别依赖默认快捷键,绑定 context 才安全
Ctrl+Alt+A 是 Alignment 默认键,但它在任何文件类型下都生效,容易误触发(比如你在写 JS 时手滑按了,把 obj.key = value 也对齐了)。
推荐在用户键位文件里加一条带 context 的:
[{"keys": ["ctrl+alt+q"],"command":"alignment","args": {"user_input": ":"},"context": [{"key":"selector","operator":"equal","operand":"source.json"}]}]
这样只有当前文件语法是 source.json 时才响应,避免污染其他语言编辑体验。
真正麻烦的不是怎么对齐,而是对齐之后没人检查缩进是否被插件悄悄覆盖、双引号风格是否被破坏、以及嵌套层级是否还保持可读——这些细节一旦出错,比不对齐更难调试。










