atom-aligner是2026年唯一支持手动选中多行后按=或:对齐的插件,需同时安装atom-aligner核心及对应语言扩展(如aligner-javascript),且必须启用Soft Tabs并设正确Tab Length,否则对齐失效;prettier-atom因设计上拒绝字符对齐,与之混用会导致格式冲突。

atom-aligner 是唯一能做赋值/冒号对齐的插件
Atom 本身不提供任何字符级对齐能力,atom-aligner 是目前(2026 年)仍在 Atom 1.60+ 上稳定运行、且唯一支持手动选中多行后按 = 或 : 对齐的插件。它不依赖 AST,只做纯文本匹配——这意味着它能对齐 a = 1 和 longKey = 'val' 中的等号,但不会动你的缩进逻辑或括号换行。
必须同时安装两部分:
-
atom-aligner(核心对齐引擎) - 对应语言的扩展,如写 JS 就装
aligner-javascript,写 CSS 就装aligner-css
只装 atom-aligner 不会生效——右键菜单里根本看不到 “Align” 选项,快捷键 Cmd+Alt+Shift+A 也无响应。
prettier-atom 不适合对齐,混用会互相破坏
prettier-atom 是语法树(AST)级格式化器,它的设计哲学就是**拒绝强制字符对齐**。无论你怎么改 .prettierrc 里的 bracketSpacing 或 arrowParens,它都不会把 key = value 的 = 拉到同一列——这不是 bug,是 intentional design。
立即学习“前端免费学习笔记(深入)”;
如果你一边用 prettier-atom 自动保存格式化,一边又手动调 atom-aligner 对齐,结果必然是:
- 保存后对齐立刻消失
- 再手动对齐,下一秒又被格式化冲掉
- 最终代码风格撕裂,ESLint 报
no-multi-spaces或缩进警告
真要共存,只能禁用 prettier-atom 的 “format on save”,改为人手触发 prettier:format 命令,且避开已对齐的区块。
将一个或多个 UI 原型图、线框图、产品截图或设计稿转换为标准化、可直接交付的 PRD 风格文档,供产品、设计、前端和测试共同使用。适用于 Codex 需要分析 PC 网页、桌面端、移动端、响应式页面、独立弹窗、表单、表格、看板、数据大屏或多页面流程截图,还原页面结构与交互,强制套用固定文档模板,抽取跨页面共享规则,或把一组原型沉淀为单页规范文档加整体业务流程文档的场景。不适用于纯视觉审美点评、代码实现、接口设计、埋点方案、竞品分析或无 UI 输入的业务需求创作。
对齐失败?先检查 tabWidth 和 soft tabs
atom-aligner 用空格填充对齐位置,但它完全依赖编辑器当前的缩进设置。如果项目要求 2 空格缩进,而 Atom 全局设的是 4 空格,对齐出来的空格数就会错位,导致视觉偏移或 ESLint 报 indent 错误。
务必确认:
- 打开
Atom → Settings → Editor,Tab Length设为项目实际值(通常是2) - 勾选
Soft Tabs(强制用空格) - 检查文件右下角状态栏显示的是
Tab: soft,不是Tab: hard;点它切换
没做这步,哪怕选中三行 key: val 对齐,也可能出现第二行冒号飘在第一行左边、第三行缩进塌陷的情况。
JSON/YAML 别硬用 aligner 对齐
atom-aligner 不解析语法,只按字符串找分隔符。在 JSON 里,: 可能出现在字符串值中(比如 "name": "foo:bar"),插件无法区分,一选中就误对齐;YAML 更麻烦——它靠缩进定义结构,而 atom-aligner 插入的空格会破坏原有层级,轻则格式错乱,重则 YAML 解析失败。
这类结构化格式,老实用 Prettier 或专门工具(如 yq)格式化,别指望 atom-aligner 安全处理。
真正需要前端排版对齐的场景,基本就集中在 JS/TS 的变量声明、CSS 的属性块、或者 HTML 模板里的内联属性——这些才是 atom-aligner 能稳住的边界。

















