Sublime Text 4 中 Alignment 插件彻底失效,必须改用 AlignTab;因其依赖的 Python 2/ST3 API 已移除,导致命令不注册、菜单不显示、安装即报错。

Sublime Text 4 里 Alignment 插件已彻底失效,别再试了——必须用 AlignTab。
为什么 Alignment 在 ST4 上按 Ctrl+Alt+A 没反应
不是你装错了,是它根本跑不起来:ST4 切换到了 Python 3.8 运行时,而 Alignment 依赖的 sublime_plugin 模块调用方式已被移除,控制台通常静默失败,菜单栏也压根不出现 Preferences → Package Settings → Alignment。
- Package Control 搜索 “Alignment” 已不可见(官方仓库归档)
- 手动下载 ZIP 解压后,哪怕重命名为
Alignment文件夹,也会报ImportError: No module named 'sublime_plugin' - 即使侥幸加载,
alignment命令也不会注册进命令系统,快捷键自然无响应
AlignTab 安装后必须做的三件事
装完 AlignTab 不等于能用,90% 的人卡在这几步:
- 必须完全退出 Sublime Text 再重启——否则
align_tab命令不注册,快捷键按了也白按 - 确认菜单栏出现
Preferences → Package Settings → AlignTab,且点进去有配置项;如果空白或报错,说明插件文件夹名不对(比如含版本号、下划线或大小写错误),得重命名为严格匹配的AlignTab - 打开
Preferences → Package Settings → AlignTab → Settings – User,填入合法 JSON 配置,不能只复制示例还留着中文逗号或末尾多逗号
AlignTab 对齐变量名前的关键配置
默认配置对变量赋值毫无作用,必须显式声明目标符号并关闭缩进干扰:
{
"alignment_chars": ["=", ":"],
"alignment_space": 1,
"align_indents": false
}-
"alignment_chars"是核心:顺序决定优先级,"="在前才能先对齐等号,避免被":"截断 -
"alignment_space": 1表示在对齐符号左右各加 1 个空格,防止a=1变成a =1(右边缺空格) -
"align_indents": false必须设为false,否则插件会把缩进空格当对齐目标,变量名直接被推到行首
对齐失败时先检查这四点
别急着重装,先看基础环境是否满足:
- 右下角状态栏显示
Spaces: 4—— 如果是Tab Width: 4或Indentation: Tab,必须点它切换成空格,AlignTab按列计算位置,\t和空格宽度不等价 - 当前文件不能是只读(RO)或语法设为
Plain text;切到Python、JSON或YAML再试 - 选中的每行都必须包含目标字符(比如你要对齐
=,就不能混入# comment或空行) - 卸载所有其他对齐类插件(如
Alignment、CodeAlignment),它们会冲突注册同名命令,导致静默失败
真正容易被忽略的是:对齐不是语法感知操作,它只做字符串列对齐。混用注释、尾随空格、折叠代码块、或跨缩进层级强行选中,都会让结果偏移——先 Ctrl+Shift+P → Trim Trailing White Space,再统一缩进,最后分组对齐,才稳。

















