vscode标题栏显示git分支名需配置window.title变量并确保项目已初始化git仓库。正确配置为"${activeeditorshort} — ${branch} — ${foldername}",但单文件、多根工作区或无.git目录时${branch}为空,属正常限制。

标题栏显示 Git 分支名需要开启内置功能
VSCode 默认标题栏只显示文件名,不包含分支信息。想让它显示 branch-name — file-path 这类内容,不用装插件,靠它自带的 window.title 配置就能实现,但必须配合 git.enabled 和工作区 Git 初始化状态。
- 确保项目根目录下有
.git文件夹,否则 VSCode 不会识别为 Git 仓库,${activeEditorShort}${separator}${branch}中的${branch}会为空 - 在设置中搜索
window.title,点击“在 settings.json 中编辑”,写入:"window.title": "${activeEditorShort}${separator}${branch}${separator}${folderName}" -
${separator}默认是空格,如需破折号或竖线,可写成${separator} — ${separator}或直接用字符:"${activeEditorShort} — ${branch} — ${folderName}" - 如果打开的是单个文件(非文件夹),
${folderName}为空,${branch}也为空——这是正常行为,不是配置失败
路径变量不显示完整路径,只有文件名或文件夹名
${activeEditorLong} 和 ${activeEditorShort} 都不会输出绝对路径,前者是 folder/file.ext(相对工作区根),后者只是 file.ext。真要显示完整路径,得用 ${dirty} 等占位符拼接——但 VSCode 不支持 ${fullPath} 这类变量,这是硬限制。
- 常见误解:以为
${resource}能用在window.title里——不能,它只在workbench.editor.labelFormat等少数地方有效 - 想看到路径又不想太长?可用
${folderName}+${activeEditorShort}组合,比完整路径更实用 - Windows 下路径分隔符是
,但标题栏里会被自动转义或截断,建议避免在window.title中硬写\或正则替换逻辑
修改后标题没更新,可能是缓存或配置作用域问题
改完 settings.json 后标题栏没变化,大概率不是配置写错了,而是配置没生效到当前窗口。
- 检查你编辑的是用户级 settings.json 还是工作区级——工作区级配置优先级更高,可能覆盖了你的修改
- 关闭所有窗口,重新用
code .命令打开整个文件夹(而不是单个文件),否则${folderName}和${branch}都无法解析 - 某些远程开发场景(如 SSH、Dev Container)下,Git 状态可能延迟加载,标题栏要等几秒才出现分支名,不是配置失效
- 重启 VSCode 是最简单的验证方式,但注意:热重载不触发标题栏刷新,必须完全退出进程
多根工作区下分支名显示不可靠
当你用 Code 打开多个文件夹(multi-root workspace),${branch} 只反映第一个文件夹的 Git 状态,其余根目录的分支信息不会合并或轮播——这不是 bug,是设计如此。
- 如果主要开发目录不在 workspace 的第一个位置,手动调整
workspace.code-workspace里"folders"数组顺序 - 不要指望
${branch}显示“当前编辑文件所属仓库的分支”,VSCode 没这个能力;它只认工作区首个 Git 仓库 - 多根场景下更稳妥的标题格式是:
"${activeEditorShort}${separator}${folderName}${separator}${dirty}",避开${branch}可减少误导
${activeEditorShort} — ${folderName} — ${branch},但得接受它在单文件、多根、无 Git 时必然缺字段。别试图用脚本或插件绕过这个限制——VSCode 标题栏的变量系统就是这么简单,也这么固执。











