sublime text 4 中 alignment 插件已失效,因其依赖被移除的旧 api 且作者停更;必须改用 aligntab,安装后需完全重启、配置 user_input 正则(如 "=|:")、统一为空格缩进并确保语法识别正确,才能稳定对齐变量名。

Sublime Text 本身不支持代码对齐,Alignment 插件在 ST4 中已失效,别浪费时间配它——直接用 AlignTab,装完就能对齐 =、: 等符号,且配置简单、响应稳定。
为什么 Alignment 在 Sublime Text 4 里按 Ctrl+Alt+A 没反应
不是你操作错,是插件根本没加载:ST4 移除了旧版 API,而 Alignment 依赖已被删除的 view.settings().set('align_indent', ...) 等私有调用,安装后菜单里甚至不会出现 Preferences → Package Settings → Alignment。控制台也不报错,只是静默不注册 alignment 命令。
- 打开
Command Palette(Ctrl+Shift+P),输入Alignment—— 如果搜不到任何命令,说明插件未生效 - 检查
Preferences → Browse Packages…目录下是否存在Alignment文件夹:存在也不代表能用,ST4 兼容层已跳过加载 - 别试手动改
alignment_chars或快捷键绑定,这些配置根本不会被读取
AlignTab 安装后仍没反应?先确认这三件事
AlignTab 是目前 ST4 唯一持续维护、真正可用的对齐插件,但装完不等于立刻能用。
- 必须完全退出 Sublime 再重开——否则
align_tab命令不注册,快捷键绑定无效 - 右下角状态栏要显示具体语法(如
JavaScript、Python),不能是Plain text;若显示Plain text,点它切换或保存为.py/.js后缀 - 快捷键默认是
Ctrl+Alt+A,但常被Emmet、SideBarEnhancements占用;打开Preferences → Key Bindings,右侧用户配置中加一行:[ {"keys": ["ctrl+alt+a"], "command": "align_tab", "args": {"user_input": "="}} ]
怎么让 = 和 : 都能对齐,且不破坏缩进
AlignTab 默认只按空格对齐,想按符号对齐必须传正则参数,不能靠 alignment_chars 数组(那是 Alignment 的配置项,对 AlignTab 无效)。
-
"user_input": "="只匹配单个等号;写成"user_input": "=|:"可同时匹配=和:;竖线需转义时写"\|" - 对齐前务必统一缩进:全选代码 →
Ctrl+Shift+P→ 输入Convert Indentation to Spaces→ 回车 - 禁用自动缩进干扰:在
Preferences → Settings – User中加"auto_indent": false, "smart_indent": false - 别选中大括号或引号包裹的内容(如 Python 字典整体、JSON 全文),只选键值对部分,避免语法结构被破坏
对齐后右边飘移、列不直?问题不在插件,在空格和 Tab 混用
AlignTab 按「可视列」计算位置,但一个 和四个 在底层列宽不同,即使显示一样,对齐结果也会歪斜。
- 状态栏右下角必须显示
Spaces: 4(不是Tab Width: 4);点击它切换,并在用户设置中加"detect_indentation": false防止下次自动切回 Tab - 行尾空格和换行符不一致也会干扰:先执行
Ctrl+Shift+P→Trim Trailing White Space,再确保文件换行符统一为Unix (LF) - 如果某行开头是 Tab、另一行是空格,哪怕视觉缩进相同,对齐后右边变量名也会参差不齐——这是 Sublime 底层文本引擎的行为,无法绕过,只能统一缩进方式











