alignment插件在sublime text 4中已不兼容,因其未适配python 3.8环境,官方仓库归档;推荐使用持续更新的aligntab替代,支持多符号对齐、可自定义快捷键与配置项。

Alignment 插件在 sublime text 4 中已不兼容
直接说结论:Alignment 插件自 Sublime Text 4 起停止维护,官方仓库已归档,安装后大概率无法启用,控制台报错 ImportError: No module named 'sublime_plugin' 或插件菜单完全不出现。这不是你配置错了,是它根本没适配 ST4 的 Python 3.8 运行环境。
用 AlignTab 替代 Alignment(ST4 官方推荐)
AlignTab 是目前 ST4 下最稳定、功能最接近 Alignment 的替代方案,支持变量名、等号、冒号等多符号对齐,且持续更新。
- 安装方式:通过 Package Control →
Package Control: Install Package→ 搜索并安装AlignTab - 基础用法:选中多行代码 →
Ctrl+Alt+A(windows/linux)或Cmd+Alt+A(macos)→ 输入对齐字符(如=、:、空格)→ 回车 - 常用快捷键可自定义:在
Preferences → Key Bindings中添加,例如让Ctrl+Shift+L对齐等号:[{"keys": ["ctrl+shift+l"], "command": "align_tab", "args": {"user_input": "="}}] - 注意:对齐前确保每行都包含目标字符,否则会跳过该行;空格对齐需输入
s(正则模式)或直接打空格(普通模式,需开启"allow_leading_spaces": true)
对齐变量名时容易忽略的格式前提
自动对齐不是“智能重排”,它只做视觉对齐,不修改语法结构。以下情况会导致对齐失败或错位:
- 混用制表符(
t)和空格:统一用空格(Convert Indentation to Spaces) - 行尾有空格或注释:对齐逻辑可能误判边界,建议先用
Ctrl+Shift+P→Trim Trailing White Space - 变量声明跨多行(如带换行的函数调用):AlignTab 默认按行处理,不识别语法块,需手动分段对齐
- 使用了不同缩进层级的嵌套赋值(如类属性 vs 局部变量):建议分组选中,避免跨作用域强行对齐
AlignTab 配置项影响对齐效果的关键参数
在 Preferences → Package Settings → AlignTab → Settings 中,这几个选项实际影响很大:
-
"alignment_chars": ["=", ":", "::", "=>"]:定义快捷键触发时默认尝试的对齐字符,可追加"as"(用于 Python 的import ... as ...) -
"enable_auto_align": false:关闭后禁用保存时自动对齐(避免干扰格式化工具如 Black 或 autopep8) -
"align_whitespace": true:设为true才能对齐空格(比如对齐冒号后的空格),否则只对齐符号本身 -
"rulers": [88, 120]:虽然和对齐无关,但配合对齐后代码宽度失控时,能快速发现是否超出 PEP 8 推荐长度
对齐本质是视觉整理,不是代码重构。真正要提升可读性,优先靠命名规范和合理拆分逻辑,而不是靠把等号全怼到同一列——后者在改一行时往往要重调全部。