必须设"draw_white_space": "all"才能稳定全局显示空格(·)、制表符(→)和行尾空白;需在settings–user中添加该json配置,注意引号、位置及文件状态等影响显示的因素。

必须设 "draw_white_space": "all",其他方式不是不生效就是只显示一部分——这是唯一能稳定、全局、同时看到空格(·)、制表符(→)和行尾空白的配置。
怎么改配置才能让 · 和 → 真正显示出来
打开 Preferences → Settings – User,在右侧 JSON 里加这一行:
{"draw_white_space": "all"}
注意三点:
- 值必须是英文双引号包裹的字符串
"all",写成true、on或漏引号都会导致整个配置解析失败,静默失效 - 只能写在「Settings – User」里才全局生效;写在左侧默认设置或语法专属设置中无效
- 保存后已打开文件可能不立即刷新,切换标签页或按一下 ↑/↓ 光标就能触发重绘
为什么开了 "draw_white_space": "all" 还看不到 → 或 ·
符号不出现,往往不是配置没生效,而是底层数据缺失或被覆盖:
-
"translate_tabs_to_spaces"是true:此时按 Tab 插入的是空格,文件里根本没有\t字符,自然不会渲染 →,全都是 · - 文件是只读状态(右下角显示 RO):Sublime 会跳过空白字符渲染
- 用了某些语法高亮插件(如自定义
.sublime-syntax):可能拦截或覆盖 invisibles 渲染逻辑 - 启用了
"trim_trailing_white_space_on_save"且刚保存过:行尾空格已被删,自然无 · 可显
"show_line_endings": true 和换行符 ¶ 的关系
"draw_white_space": "all" 管空格和制表符,"show_line_endings": true 才管换行符 ¶,两者完全独立:
- 只开
"draw_white_space": "all"→ 显示 · 和 →,但每行结尾没有 ¶ - 额外加
"show_line_endings": true→ 每行末尾强制显示 ¶,同时状态栏也会标出 LF / CRLF - Git 跨平台协作时,混用换行符常引发 warning,这时 ¶ 就比 · 和 → 更关键
最终用户配置典型写法:
{"draw_white_space": "all", "show_line_endings": true}
临时查看别动配置:命令面板快捷切换
代码审查中途想快速确认某段有没有混用缩进,又不想改长期偏好?用命令面板:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Toggle White Space回车 - 它会翻转当前
draw_white_space值("all"↔"none"),秒开秒关,但仅限当前会话——关掉 Sublime 就恢复原状
这个操作不启用 show_line_endings,所以 ¶ 不会出现。
真正难的从来不是让符号显示出来,而是看到 → 和 · 后,得立刻判断:这行缩进该留还是该转,那个行尾空格是格式需要还是隐藏污染,以及——你刚粘贴进来的那段代码,到底悄悄带进了几个不可见的 \t。











