Windows Terminal 完全指南:安装、多标签配置与 WSL 开发实战
2026/9/7 15:36:36 网站建设 项目流程

开头

如果你还在用 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 是一种 shell,cmd 也是一种 shell,它们是负责解析和执行命令的程序。而 Windows Terminal 是这些 shell 的“容器”,它本身不执行命令,只是提供一个更好的窗口界面来承载它们。

打个比方,PowerShell 和 cmd 就像是不同的网站,Windows Terminal 则是一个现代浏览器。你用浏览器可以同时打开多个网页标签,Windows Terminal 也能同时开多个命令行会话标签,互不干扰。这个“容器”相比微软原先那个经典的 conhost 窗口,最大的优势就是:渲染更快(用了 GPU 加速)、支持真彩色和字体连字、支持透明度、支持任意拖拽调整窗口圆角,而且你可以在一个窗口里同时跑 PowerShell、CMD、Ubuntu(WSL)。

它最吸引我的一点是,从 Windows 10 19041 版本开始,微软就直接把它做成了系统默认终端应用,你不用额外折腾什么环境变量,装好就能用。

1.2 多标签到底比多窗口好用多少

我刚开始用命令行的时候,还是老式 conhost 窗口的时代。那时候开一个 PowerShell 窗口、一个 cmd 窗口、再开一个 SSH 连接,任务栏上至少堆三个图标,来回切换全靠 Alt+Tab,窗口一多自己都分不清哪个是哪个。

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 年之后的版本,系统组件一般都满足要求。

怎么快速确认自己的系统版本?按 Win+R,输入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 是预览版,想尝鲜可以装,但日常使用稳定性优先,普通用户装正式版就够了。

如果点击获取后一直转圈,或者提示“无法加载页面”,我建议先按下 Win+R,输入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.VCLibsMicrosoft.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 之后,第一件事就是先把标签页操作练熟。新标签的快捷键是 Ctrl+Shift+T,这个组合很常用,类似浏览器的 Ctrl+T。关闭当前标签是 Ctrl+Shift+W,如果只有最后一个标签,关闭它就会退出整个终端窗口。

切换标签方面,Ctrl+Tab 可以按顺序向右切换,Ctrl+Shift+Tab 向左切换;如果你开了很多标签,直接用 Ctrl+Alt+数字键可以跳到指定编号的标签,比如 Ctrl+Alt+2 就是跳到第 2 个标签,这个对多开项目环境的人来说非常实用。

所有标签页都可以用鼠标拖拽调整顺序,还可以把一个标签拖出当前窗口,让它变成独立窗口,再拖回来又能合并。这个操作对于整理工作区特别好用,比如把开发环境的标签拖到第二个显示器上单独放着,主屏留一个干净的窗口编辑代码。

我整理了一份常用快捷键清单:

操作快捷键
新建标签页Ctrl+Shift+T
关闭标签页Ctrl+Shift+W
切换下一个/上一个标签Ctrl+Tab / Ctrl+Shift+Tab
跳转到指定标签Ctrl+Alt+数字
复制/粘贴Ctrl+C / Ctrl+V(选中即复制也支持)
查找Ctrl+Shift+F
打开设置Ctrl+,

值得一提的是,Windows Terminal 默认开启了“选中即复制”的功能,鼠标选中一段文字就直接复制了,右键直接粘贴。这个习惯一旦养成真的回不去。

4.2 窗格拆分:在一个标签里开多个会话

如果说多标签是一层提升,那窗格拆分就是第二层提升。很多人在一个标签里同时开多个终端会话的需求,其实可以通过拆分窗格解决,根本不用开新标签。

垂直拆分是 Alt+Shift+D,效果是左右分成两栏;水平拆分是 Alt+Shift+-(就是键盘上数字 0 旁边的减号键),效果是上下分成两行;而 Alt+Shift+=(等号键)可以对当前窗格继续拆分。窗格建好之后,用 Alt+方向键可以在各个窗格之间移动焦点。

这个功能实际用起来非常顺手。举个例子,我本地启动一个 Java 应用时,通常一个窗格跑mvn spring-boot:run,另一个窗格用docker ps盯着容器状态,再来一个窗格打开 WSL 的 Ubuntu,随时准备敲 Linux 命令。三个窗格共享同一个标签,整个界面分区明确,鼠标切换成本非常低。

窗格也支持关闭,快捷键是 Ctrl+Shift+W,它会关闭当前焦点的窗格;如果当前标签只有一个窗格,那就变成关闭标签。还有个小技巧是,创建标签时如果想直接生成拆分布局,可以在下拉菜单里选择“拆分窗格”并指定布局方式,这适合把常用的工作区模板固定下来。

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数组可以自定义快捷键绑定。比如我不喜欢默认的 Ctrl+Shift+T,想改成和 Windows 终端习惯一致的 Ctrl+T,就可以在这里添加一行{ "command": { "action": "newTab" }, "keys": "ctrl+t" }。改配置之前建议先点开界面上的“JSON 文件”按钮了解结构,改错了还可以在设置里重置。

5. 和开发工具链搭配:让终端真正能干活

5.1 把 WSL 塞进 Windows Terminal

Windows 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 商店安装失败、卡住下载怎么办

微软商店偶尔会出现“正在获取”转圈半天没反应的情况。我的经验是:先按 Win+R 输入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 而不是老式控制台。这个细节几乎不用花时间,却能悄悄把使用体验提升一大截。一个小改动,换来的是每天成倍的顺畅,值得一试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询