windows terminal可通过为每个配置文件设置tabcolor字段实现标签页按环境自动变色。需在设置中关闭“继承全局标签颜色”,然后为powershell、wsl等profile分别指定十六进制颜色值,保存后新建标签页即生效。

Win11用户希望在Windows Terminal中让标签页颜色随当前运行的环境(如PowerShell、WSL、CMD、Azure CLI等)自动变化,避免手动右键选色的重复操作,实现视觉上一眼识别会话类型。
通过配置文件自动绑定标签颜色
Windows Terminal本身不支持“根据shell类型自动切换标签颜色”的原生逻辑,但可通过为每个配置文件(profile)单独指定tabColor字段,使新建该环境的标签页直接呈现对应颜色——这是最稳定、无需脚本、重启即生效的方式。
第一步:按 Ctrl + , 打开图形化设置页 → 左侧点击“配置文件” → 在右侧列表中找到你要定制的配置文件,例如“Ubuntu-22.04”或“PowerShell (Windows)”。
第二步:点击该配置文件右侧的“编辑”按钮(铅笔图标)→ 向下滚动到“外观”区域 → 找到“标签页颜色”输入框。
第三步:输入十六进制颜色值,例如 #2E76B7(PowerShell蓝)、#4E9A06(WSL绿)、#008080(CMD青)。注意:【必须确保该配置文件未启用“继承全局标签颜色”】,否则此设置会被覆盖。
第四步:保存后,每次用 Ctrl+Shift+N 选择该配置文件新建标签页,颜色将自动应用。手动拖拽终端窗口或复制窗格时,新窗格也会继承该配置文件的颜色。
方法一:用JSON直接写死每种环境的tabColor
适合已熟悉 settings.json 结构的用户。打开设置文件(Ctrl+Shift+,)→ 在 "profiles" → "list" 数组中,为每个 profile 对象添加 "tabColor" 字段:
"tabColor": "#FF5733" —— 例如给 Git Bash 设为橙红色;"tabColor": "#8E44AD" —— 给 Azure Cloud Shell 设为紫罗兰色。
注意:字段必须与 "guid"、"name"、"commandline" 等同级,不可嵌套进 "defaults" 或 "hidden" 块内。改完按 Ctrl+Shift+R 重载配置即可验证。
方法二:用 PowerShell 脚本动态生成带颜色的配置文件(进阶)
如果你有多个 WSL 发行版、多个 conda 环境、或需批量部署到多台机器,可编写 PowerShell 脚本读取已安装发行版列表,自动生成含 tabColor 的 profile 条目并追加进 settings.json。
先运行 wsl -l -q 获取发行版名,再用 ConvertTo-Json -Depth 10 构造 profile 对象,最后用 Get-Content | ConvertFrom-Json | Add-Member | ConvertTo-Json 合并进现有配置。这一步操作起来很简单,直接把生成好的 JSON 片段粘贴进 "list" 数组末尾就行。
关键前提:【备份原始 settings.json,误删逗号或括号会导致整个 Terminal 无法启动】。建议先在记事本里格式化好再复制,不要直接在 VS Code 里编辑后 Ctrl+S 就走人。











