Windows Terminal 配置 — 标签页 · 分屏 · WSL/PowerShell + Oh My Posh
让 Windows Terminal 媲美 macOS iTerm。用一个 settings.json 锁定 profiles / 快捷键 / 主题。
Windows 开发从 Windows Terminal 开始。将 WSL、PowerShell 和命令提示符作为标签页和分屏整合在一个窗口中,把整套配置固化进一个 JSON 文件(settings.json)。一次配置到位,体验几乎等同于 macOS iTerm + tmux。
我认为 Windows Terminal 的核心价值不在于外观,而在于把多个 shell 环境统一到单一入口。以前开发者要在多个终端窗口间切换;如今通过 settings.json 把 WSL、PowerShell、命令提示符统一管理,由于那个统一入口,上下文切换成本大幅降低。
本指南目标环境为 Windows 11 / Windows Terminal 1.21+,是完成 Windows 初始设置 和 WSL 调优 后的日常终端精调步骤。
TL;DR
- 从微软应用商店安装 Windows Terminal(Win11 内置)
Ctrl+,(或 ▼ → Settings)→ 进入 JSON 编辑模式- 下载本指南的
settings.example.json并按你的机器修改 - JetBrains Mono 字体 + 深色主题 + 亚克力透明效果
- Oh My Posh 美化 PowerShell 提示符
前置条件
- Windows 11(10 也可以;部分亚克力效果略有差异)
- 已安装 WSL2 — WSL 调优
- (可选)PowerShell 7(
winget install Microsoft.PowerShell)
下载 settings.json
devAlice 推荐的基准配置——粘贴你机器的 GUID 就能用。
settings.json# 1. 下载
Invoke-WebRequest `
-Uri https://devalice.jaceclub.com/assets/windows/windows-terminal-setup/settings.example.json `
-OutFile settings.json
# 2. 验证 SHA-256(Windows PowerShell)
Get-FileHash settings.json -Algorithm SHA256
# 预期(Hash):BBDEBB16B68F5BBD9041DBE4FEFEC8BA5F30B497325F2A11B922C1DAEDB8525F
# (lowercase: bbdebb16b68f5bbd9041dbe4fefec8ba5f30b497325f2a11b922c1daedb8525f)
# 3. 检查内容
notepad settings.json
# 4. 复制到实际位置(Windows Terminal Stable)
$dst = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
Copy-Item settings.json $dst -Force请将四个
guid字段替换为你机器的实际值。打开 Windows Terminal 一次,从菜单中查看自动生成的 GUID。
1. 安装 Windows Terminal — 1 分钟
Win11 内置。否则:
winget install Microsoft.WindowsTerminal用 Win + T 或开始菜单 → 「Terminal」打开。
默认快捷键(配置前)
| 按键 | 操作 |
|---|---|
Ctrl+, | 设置 |
Ctrl+Shift+T | 新建标签页 |
Ctrl+Tab | 下一个标签页 |
Ctrl+Shift+W | 关闭标签页 |
Alt+Shift++ | 向右分屏 |
Alt+Shift+- | 向下分屏 |
2. 直接编辑 settings.json — 5 分钟
GUI 有局限,直接用 JSON。
Ctrl+,(Settings)→ 左下角 ⚙ Open JSON file → settings.json 在你的默认编辑器中打开。
路径:
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
Windows Terminal Preview 在
Microsoft.WindowsTerminalPreview_...下使用相同路径,但文件不同。
五个关键设置
{
"$schema": "https://aka.ms/terminal-profiles-schema",
// 默认 profile(GUID)
"defaultProfile": "{2c4de342-...}", // 例如 Ubuntu WSL
// 选中自动复制——iTerm 风格
"copyOnSelect": true,
"copyFormatting": "none", // 仅纯文本(不含颜色/格式)
// 主题
"theme": "dark"
}3. Profiles — WSL + PowerShell 7 + 隐藏 — 10 分钟
3.1 Ubuntu(WSL)Profile
{
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", // 你机器的实际值
"name": "Ubuntu (WSL)",
"source": "Windows.Terminal.Wsl",
"commandline": "wsl.exe -d Ubuntu",
"startingDirectory": "//wsl$/Ubuntu/home/%USERNAME%",
"colorScheme": "One Half Dark",
"icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png"
}将 startingDirectory 指向 WSL home,每次新建标签页都从 ~/ 开始。
3.2 PowerShell 7 Profile
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", // 你机器的实际值
"name": "PowerShell 7",
"commandline": "pwsh.exe -NoLogo",
"startingDirectory": "%USERPROFILE%",
"colorScheme": "Campbell Powershell",
"icon": "ms-appx:///ProfileIcons/pwsh.png"
}
-NoLogo隐藏 PowerShell 欢迎横幅,每次不用看到它。
3.3 隐藏不用的 Profile
如果你不用命令提示符、Azure Cloud Shell 或 Windows PowerShell(5.1):
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"hidden": true
}4. 字体 + 主题 — 5 分钟
4.1 安装 JetBrains Mono
winget install JetBrains.JetBrainsMono
# 或:scoop bucket add nerd-fonts; scoop install JetBrainsMono-NF安装后需注销/重新登录(刷新字体缓存)。
4.2 应用字体默认设置
"profiles": {
"defaults": {
"fontFace": "JetBrains Mono",
"fontSize": 12,
"fontWeight": "normal",
"useAcrylic": true,
"acrylicOpacity": 0.85,
"cursorShape": "filledBox",
"antialiasingMode": "cleartype",
"padding": "10",
"scrollbarState": "hidden",
"snapOnInput": true,
"historySize": 50000
},
// 列表...
}defaults 应用于所有 profile,各 profile 可单独覆盖。
4.3 额外主题(可选)
在 schemes 数组中添加调色板。从 Windows Terminal Themes 复制 JSON。
5. 快捷键 — 模仿 Mac 标准 — 5 分钟
添加到 actions。可下载的配置资产已包含:
"actions": [
{ "command": "find", "keys": "ctrl+shift+f" },
{ "command": "paste", "keys": "ctrl+shift+v" },
{ "command": "copy", "keys": "ctrl+shift+c" },
{ "command": { "action": "splitPane", "split": "right" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "down" }, "keys": "alt+shift+minus" },
{ "command": "closePane", "keys": "ctrl+shift+w" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "newTab" }, "keys": "ctrl+shift+t" },
{ "command": { "action": "nextTab" }, "keys": "ctrl+tab" }
]对从 iTerm / Terminal.app 迁移过来的用户非常自然。
6. Oh My Posh — 美化 PowerShell 提示符 — 10 分钟
PS C:\Users\u> 信息量太少。添加 git 分支、退出码、缩短的路径。
6.1 安装
winget install JanDeDobbeleer.OhMyPosh打开新终端。
6.2 在 PowerShell Profile 中应用
notepad $PROFILE
# 如不存在:New-Item -Path $PROFILE -ItemType File -Force内容:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression在新 PowerShell 窗口中立即生效。
6.3 更换主题
Get-PoshThemes # 预览所有主题
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_rainbow.omp.json" | Invoke-Expression将选定主题保存到 $PROFILE 以持久化。
6.4 在 WSL 的 bash/zsh 中应用(可选)
# 在 WSL bash/zsh 内
curl -s https://ohmyposh.dev/install.sh | bash -s
echo 'eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"' >> ~/.bashrc7. 日常使用模式
7.1 快速分屏 + 不同命令
Alt+Shift++ 向右分屏 → 新面板运行 wsl -d Ubuntu。左边是 PowerShell,右边是 WSL——Mac iTerm + tmux 的感觉。
7.2 WSL 内使用 tmux
Windows Terminal 只做窗口分割——真正的会话管理(分离/重连)在 WSL 内的 tmux 中:
# 在 WSL bash 中
sudo apt install tmux
tmux new -s dev # 新建会话
# 工作,然后 Ctrl+B → D(分离)
tmux attach -t dev # 重新连接关闭 Windows Terminal 不会终止 tmux 会话。
7.3 将 settings.json 保存到 Git
$src = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
$dst = "$HOME\dotfiles\windows-terminal\settings.json"
mkdir "$HOME\dotfiles\windows-terminal" -ErrorAction SilentlyContinue
Copy-Item $src $dst -Force
cd "$HOME\dotfiles"
git add windows-terminal/settings.json
git commit -m "feat: windows terminal settings"在新机器上反向复制,即可瞬间同步。
8. 故障排查
字体未生效
安装 JetBrains Mono 后必须刷新字体缓存。注销/重新登录或重启。
亚克力透明效果消失
Windows 11 在省电模式或透明效果关闭时会禁用亚克力效果。Settings → 个性化 → 颜色 → 开启透明效果。
WSL profile startingDirectory 被忽略
必须以 //wsl$/... 开头(两个正斜杠)。\\wsl$\\... 在某些环境中会失效。
PowerShell 7 提示符图标乱码
部分 Oh My Posh 主题需要 Nerd Font。切换到 Nerd 变体字体:
winget install JetBrains.JetBrainsMono # 基础版
# Nerd Font 变体通过 https://www.nerdfonts.com/ 或 scoop 安装下一步
- Windows 初始设置 — Windows 11 + WSL
- WSL 调优 — 内存/CPU/网络
- PowerShell profile —
$PROFILE启动配置 - Scoop vs Winget — 包管理器对比
参考资料
更新日志
- 2026-05-12 — 初稿(devAlice M2 seed expansion)