Windows Terminal 完全指南:安装、多标签配置与 WSL 开发实战

发布时间:2026/9/7 15:36:56
Windows Terminal 完全指南:安装、多标签配置与 WSL 开发实战 开头如果你还在用 Windows 自带的 cmd 或者那个老掉牙的黑色控制台窗口我觉得是时候认真考虑换一个终端了。我说的就是 Windows Terminal微软官方出的现代终端应用支持多标签页、窗格拆分、GPU 加速渲染还能把 PowerShell、CMD、WSL、Git Bash 这些不同环境全部收进一个窗口里管理。这篇文章写给谁给所有在 Windows 上需要敲命令的人不管你是刚接触命令行的新手还是天天跟服务器、Docker、数据库打交道的开发者和运维。我会从最新版本的获取方式开始把安装步骤、多标签功能的完整玩法、常见配置以及和 WSL、Docker、Java、Redis 这些开发工具链的搭配都过一遍最后还会把我踩过的坑整理成排查清单。读完你不仅能把 Windows Terminal 装好还能真正把它用起来摆脱满桌子终端窗口的混乱状态。1. Windows Terminal 到底是什么为什么值得装1.1 它是微软官方的新一代终端应用先搞清楚一个概念很多人会把“终端”和“shell”混在一起。简单说PowerShell 是一种 shellcmd 也是一种 shell它们是负责解析和执行命令的程序。而 Windows Terminal 是这些 shell 的“容器”它本身不执行命令只是提供一个更好的窗口界面来承载它们。打个比方PowerShell 和 cmd 就像是不同的网站Windows Terminal 则是一个现代浏览器。你用浏览器可以同时打开多个网页标签Windows Terminal 也能同时开多个命令行会话标签互不干扰。这个“容器”相比微软原先那个经典的 conhost 窗口最大的优势就是渲染更快用了 GPU 加速、支持真彩色和字体连字、支持透明度、支持任意拖拽调整窗口圆角而且你可以在一个窗口里同时跑 PowerShell、CMD、UbuntuWSL。它最吸引我的一点是从 Windows 10 19041 版本开始微软就直接把它做成了系统默认终端应用你不用额外折腾什么环境变量装好就能用。1.2 多标签到底比多窗口好用多少我刚开始用命令行的时候还是老式 conhost 窗口的时代。那时候开一个 PowerShell 窗口、一个 cmd 窗口、再开一个 SSH 连接任务栏上至少堆三个图标来回切换全靠 AltTab窗口一多自己都分不清哪个是哪个。Windows Terminal 的多标签页直接解决了这个痛点。一个窗口里可以开十几个标签每个标签独立命名、独立配色还能随意拖拽排序。更实用的是窗格拆分功能你可以在一个标签里把界面横向或者纵向切成好几块左边跑服务右边看日志上边编辑文件下边敲命令视野完全不会互相遮挡。这其实就是一种“终端复用”的体验以前在 Linux 上习惯用 tmux 的朋友会觉得很亲切。说实话同类场景里也有人推荐 Tabby、Cmder 这些第三方终端工具它们也做得不错。但我最终选择 Windows Terminal看中的是系统集成度它跟随 Windows 更新持续迭代支持最新的 WSL 功能对高分屏和触摸板手势适配得更好而且完全免费开源没有后顾之忧。2. 安装前准备版本要求与安装渠道选择2.1 先看看你的系统够不够资格安装 Windows Terminal 的门槛很低但也要稍微留意一下系统版本。官方要求 Windows 10 19041也就是 2004 版及以上或者 Windows 11。Windows 11 基本都自带Windows 10 用户只要正常更新到 2020 年之后的版本系统组件一般都满足要求。怎么快速确认自己的系统版本按 WinR输入winver回车就能看到。如果显示版本号低于 19041建议先把 Windows Update 跑一跑把系统补丁打全再装。因为 Windows Terminal 依赖一些较新的系统组件比如应用安装程序、VCLibs 运行库系统太旧可能会安装失败或者功能不完整。如果你是在虚拟机上跑精简版系统或者公司 IT 统一管控的镜像建议先检查一下 Microsoft Store 是否可用。虽然也有脱离商店的安装方法后面会讲但系统组件不完整的话离线安装同样会遇到麻烦。2.2 三条安装路径横向对比Windows Terminal 的安装方式主要有三种我把它们的适用场景和优缺点整理了一下你可以直接对照着选安装方式适合人群优点缺点Microsoft Store大多数普通用户操作简单自动更新稳定商店偶尔抽风下载慢winget 命令行开发者、喜欢敲命令的人一条命令搞定方便后续升级需要确认 winget 本身可用GitHub Releases 手动安装内网、离线环境可控性最强适合批量部署需要手动处理依赖包操作繁琐先说结论如果你没有特殊需求直接用 Microsoft Store 安装最省心。如果你已经在用 winget 管理软件那winget install一条命令就完了还能顺便把更新一起接管。只有当你身处离线环境、内网隔离环境或者想把这套安装方式写进自动化脚本时才需要走 GitHub Releases 手动安装的路线。值得一提的是无论哪种方式安装完成后你都能从开始菜单找到它。在“运行”对话框里输入wt回车就能直接打开这个命令是 Windows Terminal 的专用启动命令。3. 实操安装全流程3.1 通过微软商店安装最适合普通用户这是最标准的方式。打开开始菜单搜索“Microsoft Store”进入商店在右上角搜索框输入“Windows Terminal”看到微软官方发布的“Windows Terminal”应用点“获取”或者“安装”按钮就行。这里有个小坑商店里的应用名称是“Windows Terminal”注意别装成“Windows Terminal Preview”。Preview 是预览版想尝鲜可以装但日常使用稳定性优先普通用户装正式版就够了。如果点击获取后一直转圈或者提示“无法加载页面”我建议先按下 WinR输入wsreset.exe回车这会重置商店的缓存。注意这个操作会清掉商店的临时文件但不会影响已安装的应用等待窗口自动关闭后重新打开商店再试一次大部分下载卡死的问题都能解决。商店装好之后系统会自动保持它的更新我们不用操心版本迭代的事。打开 Windows Terminal在设置页面的“关于”标签里可以看到当前版本号。3.2 用 winget 一条命令装好推荐给开发者如果你习惯用命令行管理软件winget 是最优雅的姿势。Windows 10、Windows 11 的系统一般都会自带应用安装程序里面就包含 winget。可以先在 PowerShell 里确认一下可用winget --version如果提示找不到命令说明你的系统没有安装应用安装程序需要先去商店搜索“应用安装程序”装上。确认可用之后执行winget install --id Microsoft.WindowsTerminal -e --accept-source-agreements --accept-package-agreements等待进度条跑完Windows Terminal 就装好了。如果之前已经装过旧版本这条命令会自动升级到最新版本。装好之后我建议顺手确认一下版本信息在 PowerShell 里执行wt --version正常会输出类似“1.21.x”这样的版本号。如果输出正常说明安装成功且启动命令已经生效。后续想升级直接执行winget upgrade --id Microsoft.WindowsTerminal平时我喜欢用 winget 装工具就是因为升级是一行命令的事不用去官网手动点连接下载。3.3 离线环境怎么装GitHub Releases 手动部署如果你所在的环境无法访问微软商店或者你需要在多台机器上离线部署可以走手动安装路线。打开 GitHub 上微软官方仓库的 Releases 页面找到最新版本的资产列表下载后缀为.msixbundle的文件。需要注意.msixbundle 是一个应用包直接双击通常打不开或者会提示“此应用包需要依赖项”。这时需要把依赖包也一起下载下来常见的依赖是Microsoft.VCLibs和Microsoft.WindowsAppRuntime在资产列表里同样能找到文件名一般带 Microsoft.VCLibs 字符下载与你系统架构匹配的版本x64 / arm64。全部下载完成后打开 PowerShell先安装依赖包再安装主包Add-AppxPackage -Path Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe.appx Add-AppxPackage -Path Microsoft.WindowsTerminal_1.21.XXXX.X_8wekyb3d8bbwe.msixbundle注意把命令里的文件名替换为你实际下载的文件名。如果终端里遇到权限不足建议用管理员身份打开 PowerShell 再执行。这种方式的优点是所有文件都可以通过移动介质传递也可以写进脚本批量部署缺点是每次升级都需要手动下载新包适合偶尔需要离线安装的场景。4. 多标签实战从入门到高效4.1 标签页的基本操作与快捷键装好 Windows Terminal 之后第一件事就是先把标签页操作练熟。新标签的快捷键是 CtrlShiftT这个组合很常用类似浏览器的 CtrlT。关闭当前标签是 CtrlShiftW如果只有最后一个标签关闭它就会退出整个终端窗口。切换标签方面CtrlTab 可以按顺序向右切换CtrlShiftTab 向左切换如果你开了很多标签直接用 CtrlAlt数字键可以跳到指定编号的标签比如 CtrlAlt2 就是跳到第 2 个标签这个对多开项目环境的人来说非常实用。所有标签页都可以用鼠标拖拽调整顺序还可以把一个标签拖出当前窗口让它变成独立窗口再拖回来又能合并。这个操作对于整理工作区特别好用比如把开发环境的标签拖到第二个显示器上单独放着主屏留一个干净的窗口编辑代码。我整理了一份常用快捷键清单操作快捷键新建标签页CtrlShiftT关闭标签页CtrlShiftW切换下一个/上一个标签CtrlTab / CtrlShiftTab跳转到指定标签CtrlAlt数字复制/粘贴CtrlC / CtrlV选中即复制也支持查找CtrlShiftF打开设置Ctrl,值得一提的是Windows Terminal 默认开启了“选中即复制”的功能鼠标选中一段文字就直接复制了右键直接粘贴。这个习惯一旦养成真的回不去。4.2 窗格拆分在一个标签里开多个会话如果说多标签是一层提升那窗格拆分就是第二层提升。很多人在一个标签里同时开多个终端会话的需求其实可以通过拆分窗格解决根本不用开新标签。垂直拆分是 AltShiftD效果是左右分成两栏水平拆分是 AltShift-就是键盘上数字 0 旁边的减号键效果是上下分成两行而 AltShift等号键可以对当前窗格继续拆分。窗格建好之后用 Alt方向键可以在各个窗格之间移动焦点。这个功能实际用起来非常顺手。举个例子我本地启动一个 Java 应用时通常一个窗格跑mvn spring-boot:run另一个窗格用docker ps盯着容器状态再来一个窗格打开 WSL 的 Ubuntu随时准备敲 Linux 命令。三个窗格共享同一个标签整个界面分区明确鼠标切换成本非常低。窗格也支持关闭快捷键是 CtrlShiftW它会关闭当前焦点的窗格如果当前标签只有一个窗格那就变成关闭标签。还有个小技巧是创建标签时如果想直接生成拆分布局可以在下拉菜单里选择“拆分窗格”并指定布局方式这适合把常用的工作区模板固定下来。4.3 用 settings.json 定制启动布局Windows Terminal 的配置都集中在一个 JSON 文件里按 Ctrl, 就可以打开 settings.json。如果你用过 VS Code 的配置文件会觉得很亲切。先看一个最基础的自定义需求让终端一启动就自动打开多个标签或者拆分布局。在配置里找到profiles下的defaults里面有个startingDirectory字段可以指定默认启动目录。但不建议随意修改核心配置我一般只调整几个关键选项默认配色、默认字体、默认 shell还有启动时是否恢复上次会话。举个例子如果你希望终端启动时默认打开一个 Ubuntu 的 WSL 会话而不是 Windows 的 PowerShell可以在配置文件的defaultProfile字段填入 Ubuntu profile 的 GUID 字符串。每个 profile 都有唯一的 GUID在配置文件的 profiles.list 数组里能看到。还有一个容易被忽略的配置actions数组可以自定义快捷键绑定。比如我不喜欢默认的 CtrlShiftT想改成和 Windows 终端习惯一致的 CtrlT就可以在这里添加一行{ command: { action: newTab }, keys: ctrlt }。改配置之前建议先点开界面上的“JSON 文件”按钮了解结构改错了还可以在设置里重置。5. 和开发工具链搭配让终端真正能干活5.1 把 WSL 塞进 Windows TerminalWindows Terminal 对 WSL 的支持堪称完美。如果你已经装好 WSL 和 Ubuntu 发行版Windows Terminal 启动时会自动检测到 Ubuntu profile并在标签栏的下拉列表里列出。点击下拉箭头图标选择 Ubuntu一个完整的 Linux 环境就出现在标签里了。这个能力意味着什么你可以在 Windows 里直接用 Linux 命令。比如跑redis-server启动 Redis或者用docker ps查看容器状态下载安装一些只能在 Linux 下运行的开发工具比如生物信息分析里经常用到的基因组下载工具。这些操作因为 WSL 的存在都不需要专门开虚拟机了。实际开发中我经常在一个 Windows Terminal 窗口里同时开着 PowerShell 和 Ubuntu 标签。PowerShell 里跑 Windows 的 .NET 命令Ubuntu 标签里跑 Linux 工具两边还能像局域网一样互相访问文件。WSL 文件系统映射到 Windows 资源管理器反过来 Windows 的盘符也挂在 WSL 的 /mnt 下数据互通非常方便。如果你在全新电脑上运行 wsl 相关命令时报错提示“适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续执行”通常是 WSL 内核版本过旧运行一下wsl --update就能解决。这个我在下一章会再展开。5.2 PowerShell、CMD、Git Bash 多 shell 共存Windows Terminal 另一个强大之处在于它不排斥任何一个 shell。你在标签栏下拉菜单里默认可以看到 Windows PowerShell、命令提示符 cmd可能还有 Azure Cloud Shell。意味着你可以把不同用途的 shell 放在同一个窗口用标签区分不必来回切换应用。比如我本机装了 Git for Windows它自带的 Git Bash 也能轻松整合进来。在设置里点击“添加新配置文件”选择“新建空配置文件”命令行填C:\Program Files\Git\bin\bash.exe名称写 Git Bash保存后就会出现在下拉列表里。这样 git 操作、Windows 命令、PowerShell 脚本都集中在一个终端里非常整洁。对于追求美观的 PowerShell 用户我建议配置一个 oh-my-posh 主题再配合 Windows Terminal 的默认字体“Cascadia Mono”和主题配色整个命令行界面会非常干净。不过这里提醒一句如果你打算装一些 Nerd Fonts 字体来显示特殊图标记得在 settings.json 的 defaults 里把font.face设置成对应字体名称比如MesloLGM Nerd Font不然图标显示不出来。5.3 环境变量与 PATH 更新新终端才能生效开发过程中有个高频问题新装了一个软件比如 JDK 17、Flutter、Docker Desktop修改完环境变量之后打开的终端还是提示“无法识别命令”。这其实是正常的因为终端进程在启动时读取了一次环境变量不会实时感知变化。最直接的解决办法是关掉当前终端窗口重新打开 Windows Terminal。Windows Terminal 有一个细节做得不错重启之后它会重新加载最新的系统环境变量所以“修改 Path 后需要新开终端生效”这个规则在这里很直观。如果你不想重启也可以在 PowerShell 里强制刷新$env:Path [System.Environment]::GetEnvironmentVariable(Path, Machine) ; [System.Environment]::GetEnvironmentVariable(Path, User)执行完这条命令当前会话的 PATH 就是新的了。想确认路径是否生效可以打印 PATH 内容$env:Path -split ;在 WSL 里如果你想读取 Windows 那边的环境变量可以直接用/mnt/c/Windows/System32/cmd.exe /c echo %PATH%不过日常开发中我更推荐直接关掉重开终端干净利落。6. 常见问题与排查技巧实录6.1 商店安装失败、卡住下载怎么办微软商店偶尔会出现“正在获取”转圈半天没反应的情况。我的经验是先按 WinR 输入wsreset.exe重置商店缓存等待命令窗口自动关闭后重试。如果还是不行检查系统时间是否正确时间不同步会导致证书校验失败再检查网络连接是否正常商店服务对网络质量比较敏感。如果你有 winget可以跳过商店直接命令行安装这通常是最快的一条路。如果 winget 也失败且报错信息里提到源相关的问题可以执行winget source update更新一下软件源再试。6.2 WSL 相关报错与内核升级在 Windows 10 上使用 WSL 时偶尔会在运行wsl命令时弹出提示“适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 wsl --update 进行更新”。这个问题的根源是 WSL 内核版本过旧或者未安装完整按提示执行wsl --update更新完成后重启终端重新进入发行版即可。如果还出现wsl --set-default-version 2的提示说明系统默认 WSL 版本还是 1执行这条命令把默认版本设为 2并确保你安装的 Linux 发行版在新版本上运行。WSL 2 对命令行工具兼容性和 Docker 支持都比 WSL 1 好很多。6.3 字体显示方框、乱码怎么修如果用某些主题或第三方字体后出现方框、乱码多半是字体没有正确设置。Windows Terminal 默认使用 Cascadia Mono它对图标和代码符号支持不错但如果你用的是 oh-my-posh 之类的主题最好手动安装 Nerd Fonts 并设置font.face。还有一个常见问题是中文字体显示为宋体或出现锯齿。我自己习惯在配置里把字体设置为Sarasa Mono SC或者Microsoft YaHei UI再搭配一个等宽字体做 fallback中文渲染会好很多。注意修改 settings.json 的profiles.defaults.font.face后要重启终端才能生效。6.4 终端闪退、无法打开、配置损坏怎么处理如果 Windows Terminal 打开后立刻闪退不要慌大概率是 settings.json 配置写错导致启动异常。先尝试用文本编辑器打开配置文件路径%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json如果看到 JSON 格式错误修复后保存再打开。怎么找路径可以在文件资源管理器地址栏输入%LOCALAPPDATA%然后按上述路径往深处找。如果你实在不想修可以把这个文件备份后删掉Windows Terminal 会自动生成默认配置但要注意你的所有自定义设置都会丢失。如果你是重装系统后遇到终端打不开可能是系统缺少运行库去商店重新安装“应用安装程序”和“Microsoft Visual C 运行库合集”通常能解决。6.5 系统文件异常与 WSL 内核问题有些时候终端本身没问题但系统组件损坏导致各种应用异常。如果怀疑系统文件损坏可以在管理员权限的 PowerShell 里执行sfc /scannow扫描完成后如果提示“Windows 资源保护找到了损坏文件但其中有一些文件无法修复”可以再用 DISM 修复系统映像DISM /Online /Cleanup-Image /RestoreHealth这两个命令是系统自带的标准维护手段运行过程比较慢建议在网络稳定的环境下执行等它自然跑完。不过说实话日常使用 Windows Terminal 很少会走到这一步通常把商店缓存重置、WSL 内核更新一下就解决了。写在最后我在 Windows 上折腾过不少终端工具吃灰过 Cmder也短暂用过其他第三方模拟器最终长留在 Windows Terminal 里。它打动我的地方不是某一个炫酷功能而是那种“系统原生、却又处处为你着想”的感觉——多标签、窗格拆分、WSL 融合每一样都刚好踩在我的使用习惯上。最后再分享一个小技巧在 Windows 11 的系统设置里找到“隐私和安全性”下的“开发者选项”或者直接在搜索框输入“默认终端应用程序”把默认终端改为“Windows Terminal”。这样你在“运行”对话框里输入 cmd 回车、或者从 IDE 里打开外部终端时弹出的窗口都会是 Windows Terminal 而不是老式控制台。这个细节几乎不用花时间却能悄悄把使用体验提升一大截。一个小改动换来的是每天成倍的顺畅值得一试。