sublime text 4 中 alignment 插件完全不可用,因其未适配 python 3.8 和异步命令机制,依赖已移除的旧 api 且作者已归档仓库;必须改用 aligntab 并重启生效。

Sublime Text 4 里 Alignment 插件根本不能用,装了也白装——它没适配 Python 3.8 和 ST4 的异步命令机制,控制台不报错、菜单不出现、快捷键无响应,是静默失效,不是你配置错了。
Alignment 在 ST4 中为何完全不可用
Alignment 依赖已移除的旧 API(比如 view.settings().set('align_indent', ...)),且作者早已归档仓库、停止维护。Package Control 搜索不到它是正常现象;即使手动下载 ZIP 安装,插件也不会注册命令,Ctrl+Alt+A 按了等于没按。这不是环境问题,是底层兼容性断裂。
必须改用 AlignTab,且安装后要重启
AlignTab 是目前 ST4 下唯一持续维护、真正可用的对齐插件,它重写了全部逻辑以适配异步事件和新 Python 运行时。
- 打开 Command Palette(
Ctrl+Shift+P),输入Package Control: Install Package→ 回车 → 搜索并安装AlignTab -
必须完全退出 Sublime Text 再重新启动,否则
align_tab命令不会注册,快捷键无效 - 安装后默认快捷键仍是
Ctrl+Alt+A(Windows/Linux)或Cmd+Alt+A(macOS),但行为由 AlignTab 实现
AlignTab 默认不按等号对齐,必须手动配 alignment_chars
它默认只按空白字符对齐,=、:、-> 等符号全靠配置驱动。不改配置,就永远对不齐变量名。
- 菜单栏 →
Preferences → Package Settings → AlignTab → Settings - 在右侧用户配置中添加:
{
"alignment_chars": ["=", ":", "->", "\|"],
"alignment_space": 1,
"align_indents": false
}
"\|" 是竖线转义写法;"align_indents": false 防止把缩进空格误当对齐目标;改完保存即可生效,无需重启,但已有选区需重新选择。
对齐失败时先检查这三件事
90% 的“没反应”其实和插件无关:
- 当前视图是否为只读(右下角显示
RO)或语法设成了Plain text?AlignTab 在部分自定义语法(如某些 JSON/YAML 插件)下会跳过处理 - 是否混用了制表符(
)和空格?统一执行Convert Indentation to Spaces - 行尾是否有空格或注释?先运行
Trim Trailing White Space,否则对齐位置可能偏移
AlignTab 不解析语法,只做字符串匹配——它不管你是 Python 还是 JS,也不管这行是不是嵌套在函数体里。变量名对齐只是视觉整理,不是结构重排;跨作用域强行选中多行,结果大概率错位。











