alignment插件需确认作者为wbond,若遇“unsigned package”须手动安装;对齐失败因等号前后空格不一致、存在空行或未选中纯赋值行;冒号对齐需在设置中添加":"并关闭align_indent;其仅做视觉排版,不调整右侧内容位置。

Alignment插件装完按Ctrl+Alt+A没反应?先确认是否真装对了
Package Control里搜到的Alignment插件作者必须是wbond,别选错同名但维护者不同的版本;如果Sublime Text 4提示“unsigned package”,说明它被默认拦截了——这时得手动安装:去GitHub下载ZIP,解压后重命名为Alignment文件夹,拖进Packages目录(Preferences → Browse Packages…),重启后再检查菜单里有没有Package Settings → Alignment。
为什么选中三行x = 1、long_name = 2、y = 3还是不对齐?
Alignment默认只识别=,但前提是等号前后空格模式一致。比如a=1和b = 2混在一起,它会跳过前者;另外必须满足:每行都含=、不能有空行或纯注释行、不能全选整个文件(会包含函数头或import语句这类无=的行)。
- 推荐做法:用
Ctrl+L逐行选中目标赋值块,再Ctrl+Shift+L转成多光标,最后按Ctrl+Alt+A - 提前清理干扰:执行
Ctrl+Shift+P→Trim Trailing White Space,避免行尾空格影响列计算 - 检查缩进:混用Tab和空格会导致列偏移,统一转成空格(View → Indentation → Convert Indentation to Spaces)
想让冒号:也对齐(比如JSON或字典),怎么配?
打开Preferences → Package Settings → Alignment → Settings – User,填入:
{
"align_indent": false,
"alignment_chars": [":", "=", "->", "|"]
}
align_indent设为false是关键,否则它优先拉齐缩进列,无视你写的符号;alignment_chars里加":"后,选中name: "Alice"、age: 30这类行就能对齐冒号。注意:"=="要放在"="后面,否则=会提前匹配掉==里的第一个=。
对齐后右边飘移、变量名挤在一起?这是正常现象
Alignment不解析语法,也不调整右侧内容位置——它只是把每行按第一个匹配字符切开,左对齐左边部分,右对齐右边部分。所以very_long_variable_name = 1和short = 2对齐后,=右边会自然错开,这不是bug,是设计如此。真正需要结构化格式化的场景(比如自动换行、括号缩进),得靠Prettier或AutoPEP8这类工具,Alignment只管视觉排版这一件事。











