Sublime Text 通过启用内置设置 “show_modified_tabs”: true 可在未保存文件标签页右侧显示实心圆点(●)以标识修改状态,该功能自版本 4080 起稳定支持,需避免主题不兼容或设置被覆盖。

Sublime Text 标签页怎么标出已修改但未保存的文件
默认情况下 Sublime Text 不会用特殊颜色或符号标记「已修改未保存」的标签页,但可以通过启用 draw_white_space 之外的更直接机制实现——本质是靠 show_modified_tabs 这个设置项控制。
它不是插件功能,而是内建 UI 行为开关,但很多人搜不到是因为名字不直观,且文档里藏得深。
- 打开
Preferences → Settings(左右双栏) - 在右侧用户设置里添加:
"show_modified_tabs": true - 保存后,所有已修改未保存的标签页标题右侧会出现一个实心圆点(●),颜色和当前主题的「modified」状态色一致(比如 Monokai 是橙色,Adaptive 是蓝色)
- 注意:这个圆点只出现在标签页文字右侧,不改变文字本身颜色,也不影响关闭行为
为什么改了设置没反应?常见失效原因
最常踩的坑不是设置写错,而是被其他配置覆盖或主题不支持视觉反馈。
-
show_modified_tabs在 Sublime Text 4080+ 才完全稳定,旧版本(如 3211)可能无效或仅部分生效 - 某些第三方主题(尤其是精简类或自定义 UI 的)会忽略该标志,强行重绘标签页,导致圆点不显示
- 如果同时启用了
highlight_modified_tabs(这是另一个实验性设置,非官方文档公开),它可能与show_modified_tabs冲突,建议只开前者 - 确认没有在
Settings – Syntax Specific里误关了该设置(比如某语言专属设置覆盖了全局)
想让未保存文件更醒目?可以叠加 CSS 微调
Sublime 的标签页样式由 Default.sublime-theme 控制,但直接改它风险高;稳妥做法是用用户级覆盖。
适用场景:主题圆点太小、颜色太淡,或者你想加个星号(*)前缀。
- 菜单栏 →
Preferences → Browse Packages……,进入User/目录 - 新建文件
Default.sublime-theme(如果已有就编辑它) - 加入以下片段(仅影响未保存标签的字体粗细和前缀):
[{ "class": "tab_label", "attributes": ["dirty"], "font.bold": true, "content_margin": [6, 0] } ] - 保存后重启 Sublime,带 ● 的标签页文字会变粗——这是目前最安全的视觉强化方式
别依赖插件做这件事
像 FileDiffs 或 Highlight Unsaved Changes 这类插件,本意是比对内容差异或高亮行,不是为标签页状态服务。它们要么不改标签 UI,要么用 hack 方式注入 DOM,容易在升级后失效。
真正可靠的路径只有一条:用原生 show_modified_tabs + 主题级 CSS 调整。复杂点在于不同主题对 dirty 属性的支持程度不一,有时候得进 Packages/Theme - xxx/ 里翻原始 theme 文件才能确认是否识别该状态。