editor.rulers 必须设为数字数组(如[80,120]),语言专属配置需用["javascript"]格式;生效需重启窗口,且受主题颜色影响,应设workbench.colorcustomizations中editorruler.foreground为带alpha的十六进制色。

editor.rulers 怎么设才真正生效
填错格式会导致整条配置静默失效,VSCode 不报错也不画线。必须是数字数组,比如 [80, 120];写成 ["80"]、[-80] 或 80 都无效。
语言专属配置要套在方括号里:"[typescript]" 而不是 "typescript",否则只在全局生效。例如:
{
"[javascript]": {
"editor.rulers": [100]
}
}
改完保存后不显示?先试 Ctrl+Shift+P → Developer: Reload Window,排除缓存干扰。
缩进参考线和列对齐线别混用
editor.rulers 是固定列数的静态标尺,不管缩进层级、空格还是 Tab,就在第 80 列画一条线;editor.guides.indentation 是动态的,随代码块嵌套自动对齐,两者机制完全不同。
常见误配:搜“垂直对齐线”却开了 editor.guides.indentation,结果线跟着缩进跳——那不是你要的列标尺。
想同时用?可以共存:editor.rulers: [80] + editor.guides.indentation: true,但别指望它们“联动”或“自动对齐”。
颜色看不见?90% 是主题覆盖了 ruler 线
开了 editor.rulers 却没看到线,大概率是当前主题把 editorRuler.foreground 设成了透明色(比如 #00000000)。
验证方法:临时切到 Default Dark+ 或 Light+ 主题,看是否出现竖线。
若确认是主题问题,手动加颜色定制:
"workbench.colorCustomizations": {
"editorRuler.foreground": "#a0a0a080"
}
注意:editorRuler.foreground 值必须是带 alpha 的十六进制(如 #rrggbbaa),不支持 rgb() 或英文名。
快捷键对齐和自动格式化不是一回事
Shift+Alt+F 是触发格式化器(如 Prettier、ESLint、black)的快捷键,它会重排结构、对齐等号、调整空格——这不是画线,是改代码。
想保存即对齐?开 editor.formatOnSave,但得确保对应语言有可用的格式化器(比如 Python 需装 black 或 autopep8 插件)。
临时对齐某几行?选中后按 Ctrl+K,F(Windows/Linux)或 Cmd+K,F(macOS),前提是当前语言支持该格式化器。
插件如 Better Align 可以按字符(如 =、:)做网格化对齐,但它和 editor.rulers 或缩进线无关,属于另一类操作。











