【基础】Windows开发设置入门2:Windows 终端Windows Terminal
(一)前言
大家熟悉的docker、Python,但对于Windows上有一套开配合开发的相对底层的环境设置,包括powershell、winget、WSL、还有开发驱动器什么的,我准备系统学一下,不然地基不牢,也盖不起冲天高楼~
本节,全面介绍Windows 终端Windows Terminal。
往期参考
【基础】Windows开发设置入门1:各种终端比较-CSDN博客
本文对应官网文档
Windows 终端概述 | Microsoft Learn
正文开始。。。。。。
(二)初识 Windows Terminal
Windows 终端程序是一款新式、快速、高效、强大且高效的终端应用程序,适用于命令行工具和命令提示符,PowerShell和 WSL 等 Shell 用户。
功能简介
主要功能包括多个选项卡、窗格、Unicode、和 UTF-8 字符支持,GPU 加速文本渲染引擎以及自定义主题、样式和配置。
- 核心优势:
- 原生支持 PowerShell、CMD、WSL、SSH 等多终端
- 多标签页管理(类似浏览器操作)
- GPU 加速渲染,支持 Unicode 和 24-bit 彩色
- 开源可定制(GitHub 可查看源码)
- 适用场景:
- 开发者调试代码(支持连接远程服务器)
- 系统管理员批量操作
- 命令行爱好者个性化设置
Windows Terminal本质
Windows Terminal 的本质:多终端聚合器,所以只有,窗口wt命令,其实,Windows Terminal 本身不执行任何命令,其本质是:
- 终端模拟器(Terminal Emulator)
- 支持连接多种 Shell:
cmd.exe
(传统命令行)powershell.exe
(现代命令行)wsl.exe
(Linux 子系统)ssh
(远程连接)- Azure Cloud Shell 等
✅ 核心结论:Windows Terminal 是命令行环境的「容器」,其支持的命令取决于当前使用的 Shell。
(三)安装
方式一:下载安装
下载官网地址:Windows Terminal - Windows官方下载 | 微软应用商店 | Microsoft Store
下载后,运行安装程序Windows Terminal Installer.exe,可以看到,是以Microsoft Store进行安装了:
打开,显示:
安装方式二:Microsoft Store
- 需要是Windows 10/11 用户:
- 打开 Microsoft Store 搜索 "Windows Terminal"
- 点击【获取】安装(免费)
安装方式三:通过包管理器安装(适用于开发者)
# 使用 winget 安装
winget install --id Microsoft.WindowsTerminal -e# 使用 scoop 安装
scoop install windows-terminal
(四)基础操作
2.1 启动
有多种方式:
1)安装后从开始菜单启动(快捷键 Win + R
→ 输入 wt
)
2)在CMD窗口,输入 wt
打开后,默认窗口为 PowerShell(显示 PS C:\Users\用户名>
提示符),终端以PowerShell命令行作为默认配置文件启动。
2.2 界面导航
区域 | 功能说明 |
---|---|
标题栏 | 显示当前标签页名称(可双击重命名) |
主窗口 | 执行命令的主区域 |
状态栏 | 显示光标位置、编码模式等信息 |
2.3 打开新选项卡
可以按下 Ctrl+Shift+T 或选择 +(加号)按钮来打开默认配置的新选项卡。 若要打开其他配置文件,请选择 + 按钮旁的 ˅(箭头)打开下拉菜单。 然后可以从中选择要打开的配置文件。
还可以分割窗口,打开新窗格
可以使用窗格并行运行多个 shell。 若要打开窗格,可使用 Alt+Shift++ 打开垂直窗格,或使用 Alt+Shift+- 打开水平窗格。 还可使用 Alt+Shift+D 打开重点配置的重复窗格。
可以将文件或文件夹拖放到“新建选项卡”按钮上,以在给定文件或文件夹中打开默认配置文件。 默认情况下,这将打开一个新选项卡。可以按住 Alt 在当前选项卡中打开一个新窗格,也可以按住 Shift 打开一个新窗口。
拖拽窗口
可以在 Windows 终端中拉出选项卡并创建新窗口。
还可以将选项卡拖放到现有窗口中。
窗口快捷键
- 新建标签页:
Ctrl + Shift + T
- 关闭窗格:
Ctrl + Shift + W
关闭窗口:Alt + F4
- 垂直分屏:
Alt + Shift + +
- 水平分屏:
Alt + Shift + -
2.4 调用命令面板
可以通过命令面板调用 Windows 终端的大多数功能。 调用它的默认组合键是 Ctrl+Shift+P。 还可以使用下拉菜单中的“命令面板”按钮打开它。
这些命令的设置,可以在“操作”中查看修改:
2.5 窗口配色
设置 → 配色方案
2.6 重命名选项卡
可以右键单击某个选项卡,然后选择“重命名选项卡”,对该终端会话的一个选项卡进行重命名。 在上下文菜单中单击此选项后,选项卡标题会变为一个文本字段,可以在其中编辑标题。
2.7 为选项卡配色
可以右键单击某个选项卡,然后选择颜色,为该终端会话的选项卡配色。 可以从预定义的颜色列表中进行选择,也可以选择自定义...,使用颜色选取器或 RGB/HSV 或 hex 字段来选取任何颜色。
2.8 用鼠标进行缩放
可以通过按住 ctrl 和滚动来缩放 Windows 终端的文本窗口(放大或缩小文本)。 缩放后,终端会话将保持新的缩放效果。
2.10 复制/粘贴
可以用鼠标右键单击,使用剪贴板存储在 Windows 终端中复制和粘贴文本。
Windows 终端还包括一个 copyOnSelect 设置,可将其设置为 true
,以便将用鼠标选择的任何文本立即复制到剪贴板。 在这种情况下,右键单击鼠标将始终执行粘贴操作。
(五)配置
修改默认 Shell
设置为默认终端应用程序。
在 Windows 中设置默认终端模拟器,使所有命令行应用程序在其中运行。其中"Windows控制台主机(conhost.exe)"选项,其本质是Windows系统的核心控制台管理组件。微软已逐步转向Windows Terminal(新式终端),但保留conhost.exe作为系统级组件以维持向下兼容性。
- 打开 Windows 终端并转到设置 UI 窗口。
选择启动并选择“Windows 终端”作为默认终端应用程序设置。
选择默认的终端配置文件
作为终端模拟器,打开终端的时候,调用的是那个终端程序,以怎样的方式打开,这些信息,写在终端配置文件里。 设置默认终端配置文件,就是打开终端是默认使用的终端配置文件。
默认情况下,Windows 终端附带 Windows PowerShell、命令提示符和 Azure Cloud Shell 配置文件。除了这些配置文件之外,如果安装了任何适用于 Linux 的 Windows 子系统 (WSL) 发行版,终端也会自动为这些发行版创建配置文件。更改默认配置文件,即终端启动是,使用那种窗口:
- 打开 Windows 终端并转到设置 UI 窗口。
- 选择启动并选择所偏好的默认配置文件。
添加新的配置文件
我们可以添加自己的配置文件,按照我们要求的方式打开指定的终端,比如我经常用cmd,在“C:\Temp”处理我的一些过程文件,我就希望我打开终端的时候,自动进入这个目录,就可以配置这样一个配置文件:
添加新配置文件,复制已有的“命令提示符”(即CMD)的配置文件信息,当然你也可以选择“新建空配置文件”,完全从重新配:
然后,给上名字,和启动目录:
还可以,设置标签名称,以及是否用“管理员身份运行”,和外观等:
保存后,在打开新窗口时,就可以选择自己的配置文件:
就进入自己的配置环境了:
设置文件
上面的设置, Windows 终端都记录在一个JSON 文件settings.json中,可以直接编辑,通过下面操作打开:
打开之后,可以看到所有配置信息,可以添加、修改、删除内容,保存后即生效。
(六)wt
命令
一、什么是 wt
命令?
wt命令是Windows Terminal的命令行工具,用于启动和管理Windows Terminal窗口。可以说,Windows Terminal就这一个自己的命令,其他命令都是所调用的终端程序的命令。
✨ 注意:
wt
是 Windows Terminal 独有的功能,传统 CMD/PowerShell 不支持此命令
wt命令格式:
wt [options] [command ; ]
wt
命令行接受两种类型的值:“选项”和“命令” 。 “选项”是一系列标志和其他参数,可以将 wt
命令行的行为作为一个整体来控制。 “命令”提供应该实现的操作或操作列表(以分号分隔)。 如果未指定命令,则默认情况下会将命令指定为 new-tab
。
二、安装验证与版本检查
1. 检查是否已安装
# 在任意终端输入
wt --help
- 若显示帮助信息 → 已安装
- 若提示「不是内部或外部命令」 → 需安装 Windows Terminal(见附录)
2. 查看当前版本
wt --version
# 输出示例:
# Windows Terminal [版本 1.19.11291.0]
# 版权所有 (C) Microsoft Corporation。保留所有权利。
三、基础命令速查表(附详细说明)
1. 最简启动命令
wt
# 效果:以默认配置(如 PowerShell)打开新终端
2. 指定配置文件启动
wt -p "Ubuntu"
# 参数解释:
# -p (--profile):指定配置文件名称
# "Ubuntu":必须与 profiles.json 中配置的 name 完全一致
配置文件有中文,也是可以的,如下图:
同时,打开多个窗口:
wt -p "Command Prompt" ; new-tab -p "Windows PowerShell"
3. 指定工作目录
wt -d "D:\Projects\MyApp"
# -d (--startingDirectory):设置启动时的工作路径
# 若路径含空格,必须用引号包裹
4. 执行初始化命令
要启动 Windows 终端实例并让其执行命令,请调用 wt.exe
,然后再调用你的命令。
以下是调用 Windows 终端以传递 ping 命令参数以回显 IP 地址的示例:
wt ping learn.microsoft.com
以下是调用 Windows 终端以使用 PowerShell 命令行打开新选项卡、确认调用 Start-Service 命令并使用 /k
目录中打开的 Windows 命令提示符打开另一个新选项卡的示例:
wt new-tab PowerShell -c Start-Service ; new-tab cmd /k dir
四、常用参数速查表(按功能分类)
功能类型 | 参数 | 示例 | 说明 |
---|---|---|---|
基础配置 | -p , --profile | wt -p Ubuntu | 指定配置文件 |
工作目录 | -d , --startingDirectory | wt -d "D:\Work" | 设置启动目录 |
-c , --commandline | wt -c "ping 127.0.0.1" | 执行指定命令,=》测试后,觉得不是很好用 | |
窗口尺寸 | -w , --windowWidth -h , --windowHeight | wt -w 100 -h 40 | 设置窗口大小 |
标签页操作 | nt , new-tab | wt nt "dir" | 新建标签页 |
分屏操作 | sp , split-pane | wt sp -V "top" | 分屏运行命令 |
焦点控制 | focus-tab | wt focus-tab -t 1 | 聚焦到第二个标签页 |
其他功能 | --wait-for-exit | wt --wait-for-exit "ping 8.8.8.8" | 等待命令执行完成再关闭窗口 |
(七)结尾
真是累死我了😮💨,wt命令的这部分,不是很友好,官方很多示例都没运行成功,AI都不好使了,我想说,终端挺花哨,用用简单命令就行了,高级命令不适合小白,因为执行不成功,呜呜。。。
(八)附录
CMD 与 PowerShell 命令兼容性分析
1. 基础命令兼容性
功能类别 | CMD 命令 | PowerShell 等效命令 | 兼容性说明 |
---|---|---|---|
文件操作 | copy , move , del | Copy-Item , Move-Item | 全部兼容(PowerShell 内建别名) |
目录管理 | dir , md , rd | Get-ChildItem , mkdir | 全部兼容(支持 CMD 命令原生执行) |
网络诊断 | ping , ipconfig | Test-NetConnection | CMD 命令直接可用 |
批处理脚本 | .bat , .cmd | param , function | 部分兼容(需调用 cmd.exe 运行) |
2. 关键差异对比
特性 | CMD | PowerShell |
---|---|---|
对象管道(Pipeline) | 不支持 | 支持(传递对象而非文本) |
正则表达式 | 仅部分命令支持 | 内建 Select-String 等支持 |
远程管理 | 需第三方工具 | 内建 Enter-PSSession 等命令 |
脚本语言能力 | 批处理逻辑简单 | 支持高级编程结构(类/模块/泛型) |
3. 常见命令映射表
功能 | CMD 语法 | PowerShell 语法 | 说明 |
---|---|---|---|
列目录 | dir | dir 或 Get-ChildItem | PowerShell 显示更丰富元数据 |
管道处理 | findstr "error" *.* | Select-String "error" | PowerShell 支持对象级过滤 |
变量操作 | %USERNAME% | $env:USERNAME | PowerShell 使用 $env: 访问环境变量 |
网络请求 | ftp | Invoke-WebRequest | PowerShell 可直接调用 REST API |
注册表操作 | reg query | Get-ItemProperty | PowerShell 提供完整注册表访问能力 |
4. 命令兼容性速查表
功能 | CMD 语法 | PowerShell 推荐语法 | 最佳实践建议 |
---|---|---|---|
查看网络配置 | ipconfig /all | Get-NetIPConfiguration | 优先使用 PowerShell cmdlet |
批量文件重命名 | ren *.tmp *.bak | `Get-ChildItem *.tmp | Rename-Item -NewName { .Name−replace′t˙mp_.Name -replace '\.tmp.Name−replace′t˙mp','.bak' }` |
任务计划 | at 14:00 task.bat | Register-ScheduledTask | PowerShell 提供完整管理能力 |
服务管理 | sc start Spooler | Start-Service -Name Spooler | PowerShell 支持远程操作 |
注册表修改 | reg add KEY /v VAL | Set-ItemProperty | PowerShell 避免手动输入错误 |