在Sublime中启用"draw_white_space": "all"可立即显示空格(·)和Tab(→),无需插件或重启;设错值(如true)、拼写错误或位置不对会导致失效,右下角缩进提示与此无关。

怎么让空格和Tab在Sublime里“看得见”
直接加一行配置就能让所有空白符显形,不用装插件、不用重启。关键不是“能不能”,而是“设对没”——很多人开了但没生效,其实是值写错了或位置不对。
-
"draw_white_space"必须设为"all",不是true或1;其他合法值还有"none"、"selection"、"boundary" - 打开 Preferences → Settings,在右侧用户设置(User Settings)的 JSON 里加这行:
"draw_white_space": "all"
- 保存后立刻生效:空格显示为浅色圆点(·),Tab 显示为带箭头符号(→);换行符不显示,但缩进层级一目了然
为什么右下角显示 Tab Width: 4 却看不到空格点
状态栏只告诉你当前 tab_size 是多少,完全不反映 draw_white_space 开没开。它和空白符是否可见毫无关系——这是最常被混淆的一点。
- 右下角写着
Spaces: Off?说明translate_tabs_to_spaces是false,和显示空白无关 - 点击右下角
Tab Width: 4只能临时切换缩进宽度,不会触发空白符显示 - 确认是否生效:随便打几个空格 + 一个 Tab,如果只有 Tab 显示 →、空格没点,那一定是
"draw_white_space": "all"没写对位置,或拼写错误(比如写成draw_whitespace)
显示了但看不清?怎么调得更顺手
默认的浅灰小圆点在深色主题下容易漏看,尤其扫视大段代码时。这不是 bug,是视觉权重不够,需要配合辅助手段。
- 装
Indent Guides插件:高亮垂直缩进线,和 · / → 符号形成双重提示 - 装
TrailingSpaces插件:专门标出行尾多余空格,这类空格draw_white_space不会标,但容易引发 Git 差异或 PEP 8 警告 - 不想长期开着?用快捷键临时开关:
Ctrl+Shift+P输入Draw White Space,选Draw White Space: Toggle,按需启用
Python 文件里混着 Tab 和空格,显示出来却没法一键修
显示空白只是“看见问题”,不是“解决问题”。Sublime 不会因为你开了 draw_white_space 就自动转空格——它只影响你按键时的行为,不影响已有内容。
- 已有混合缩进?先全选(
Ctrl+A),再执行Convert Indentation → To Spaces(右键菜单或命令面板搜) - 如果菜单灰掉,说明文件被标记为“混合缩进”,此时 Sublime 会禁用转换功能;得手动删掉几行开头的 Tab,再试一次
- 真正防混用,靠的是关掉
detect_indentation并设死translate_tabs_to_spaces:否则下次新建 .py 文件,它可能又按旧文件猜出 Tab 缩进,让你白设









