vscode标签页默认显示未保存修改的圆点标记,若未出现需排查主题颜色干扰、tab关闭按钮设置、文件预览/keep open状态、只读限制或扩展样式覆盖;圆点样式仅能通过自定义css修改,保存后仍存在圆点表明文件实际未写入成功。

VSCode 标签页怎么显示修改未保存的圆点标记
默认就开启,不需要额外设置。只要文件有未保存改动,标签页右侧就会自动出现一个实心圆点——这是 VSCode 的原生行为,不是插件或主题控制的。
如果你没看到圆点,大概率是主题或自定义 CSS 干扰了视觉表现,或者误关了相关 UI 选项。
-
workbench.editor.showTabs必须为true(默认开启),否则根本没标签页可显示 - 某些暗色主题会把圆点颜色设成和背景接近(比如深灰圆点+深灰背景),导致“看不见”,不是没生效
- 检查是否启用了
workbench.editor.tabCloseButton为none或left,极少数主题在left模式下会挤压圆点位置
为什么改了代码但标签页没圆点?常见原因排查
不是功能失效,而是视觉被覆盖或逻辑被绕过。重点查这三类情况:
- 当前文件被设为“已忽略”:右键标签页 →
Keep Open后再修改,圆点可能不出现;同理,Preview模式下的临时标签页(如点击大纲跳转)也不触发修改标记 - 文件编码异常或编辑器卡在只读状态:
File is read-only或Cannot edit in read-only editor错误下,即使内容变色了也不会打圆点 - 扩展干扰:比如
Custom CSS and JS Loader、vscode-custom-css等直接重写 DOM 样式的插件,会覆盖.tab.dirty类的样式定义
想改圆点颜色或大小?只能靠自定义 CSS
VSCode 不提供配置项调整圆点样式,官方明确不支持。要改就得手动注入 CSS,且每次升级可能失效。
生效路径是 ~/.vscode/extensions/your-theme-id/content.css 或通过 vscode-custom-css 注入,关键选择器是:
.tab.dirty::after {
content: "";
position: absolute;
top: 50%;
right: 8px;
width: 6px;
height: 6px;
background-color: #ff5555;
border-radius: 50%;
transform: translateY(-50%);
}
- 注意:VSCode 1.84+ 对自定义 CSS 支持更严格,需手动启用
security.allowedUNSAFEStyles配置 -
right: 8px值太小会导致圆点贴边消失,太大则超出标签页范围;不同主题的 padding 差异大,得实测 - 别用
!important过度覆盖,容易破坏其他 tab 状态样式(比如.tab.active的下划线)
保存后圆点不消失?说明文件实际没真正写入
这不是标签页 bug,而是底层文件系统或权限问题。VSCode 认为“已保存”仅指它向 OS 发出了写入请求,并不保证磁盘落盘成功。
- 文件被外部程序占用(如 Windows 上被记事本、Excel 打开),VSCode 保存时无报错但实际失败,圆点持续存在
- 远程开发(SSH / WSL)中,目标路径磁盘满、权限不足、或 NFS 挂载异常,都会导致
write EIO或EPERM错误静默吞掉 - 检查 VSCode 右下角状态栏:如果显示
UTF-8旁边有个黄色感叹号,点开看是否有Failed to save 'xxx': Unable to write file
圆点是唯一可靠的“我还没真存进去”的提示,别习惯性忽略它。











