必须同时满足draw_indent_guides为true、indent_guide_options包含"draw_normal"、缩进字符统一,缺一不可;否则缩进线断续或不显示。

缩进线(Indent Guide)不是靠“开启开关”就出来的
Sublime Text 的缩进线(即每级缩进左侧那条竖线)默认启用,但实际是否显示,取决于三个硬性条件同时满足:draw_indent_guides 为 true、indent_guide_options 包含 "draw_normal"、当前文件缩进字符统一。缺一不可,少一个就只看到断续的线,甚至完全不显示。
-
draw_indent_guides在较新版本(v4.4+)中默认就是true,但某些主题或插件会覆盖它——必须显式写在用户设置里确认 -
indent_guide_options必须是字符串数组,合法值只有["draw_normal"]、["draw_active"]或两者组合;写成"draw_normal, draw_active"(字符串)或["solid"](非法值)会被 Sublime 静默忽略 - 右下角状态栏若显示
Tab Width: 4但旁边没标Spaces,说明用了 Tab;混用 Tab 和空格会导致缩进层级识别错乱,线就断了——执行Convert Indentation to Spaces再试
rulers 和 indent_guide_options 是两套独立配置
很多人搜“缩进线”却去配 rulers,结果发现线没对齐缩进——因为 rulers 是固定列数的参考线(比如第 79 列画一条虚线),和缩进层级完全无关。它只数字符,不管你是缩进还是写注释。
-
rulers是整数数组,例如:"rulers": [79, 120],必须放在Preferences → Settings – User的顶层 JSON 中 -
indent_guide_options是字符串数组,例如:"indent_guide_options": ["draw_normal", "draw_active"],同样必须在用户设置顶层,和rulers并列,不能嵌套 - 二者可共存,但彼此不联动:你设了
rulers不会让缩进线自动贴过去,缩进线也不会响应rulers位置变化
等宽字体 + 主题颜色才是显示关键
即使配置全对,缩进线也可能“看不见”——不是功能失效,而是被视觉掩盖。常见原因集中在字体和主题上。
- 用了
Microsoft YaHei、Helvetica等非等宽字体,缩进线位置会偏移,尤其中英文混排时明显错位;必须换回Consolas、Fira Code等等宽字体 - 暗色主题(如
Dracula、Afterglow)常把indent_guide颜色设成透明或太淡;临时切到Monokai主题,如果线立刻出现,就确认是主题问题 - 想调颜色?得改配色方案(Color Scheme)文件,在
rules里加"scope": "indent_guide"对应的foreground,不是在设置里填个 hex 值就能生效
为什么改了设置没反应?先看控制台报错
Sublime 对 JSON 格式极其敏感,90% 的“配置无效”其实是语法错误导致整个用户设置加载失败。
- 复制粘贴时带了中文引号(“”)、全角逗号(,)或末尾多了一个逗号——打开控制台(
Ctrl+`),立刻能看到类似Invalid settings in Packages/User/Preferences.sublime-settings的报错 - 误改了左侧
Settings – Default(只读)或写进了Python.sublime-settings这类语法专属文件,但当前文件类型不匹配,配置根本不会加载 - 启用了
"word_wrap": true,长行软换行后,缩进线只画在首行,续行顶格显示,容易误判为“没线”——关掉软换行再观察
rulers 仍按字符列画线;但只要某一行缩进从 4 个空格变成 1 个 Tab,indent_guide_options 就会失焦,线就断了。











