news 2026/10/19 2:00:30

Windows Terminal + PowerShell 7 高效终端配置指南:从外观到效率的完整优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows Terminal + PowerShell 7 高效终端配置指南:从外观到效率的完整优化

说实话,我一开始就是被系统自带的终端逼疯的。平常用 CMD 处理点小脚本还行,一跑开发工具、日志、Git 命令,那个黑底白字和各种刺眼的配色就让人头大;系统自带的 PowerShell 5.1 稍微强一点,但默认窗口和交互体验还是让人一言难尽。后来我换成了 Windows Terminal + PowerShell 7,整套配置折腾下来,工作效率和心情都好了不止一点。这篇就把完整的配置过程、选型思路、外观优化和踩坑经历整理出来,想折腾 Windows 终端的同学可以参考,已经装了但用得别扭的,也可以对照排查一下。

严格来说,Windows Terminal 是一个现代化的终端宿主程序,负责窗口、标签、渲染、快捷键这些外壳能力;PowerShell 7 是一个跨平台的 shell 和脚本环境,负责命令执行、脚本逻辑和对象管道。两者搭配,正好互补:一个解决“看起来舒服、用起来顺手”,一个解决“命令跑得快、脚本写得好”。这次配置的目标很直接:让终端变好看、变快、变得更顺手,顺便把平时重复输入的命令都变成一键调用。

1. 先搞清楚这套组合解决了什么问题

1.1 为什么不用 CMD 和系统自带的 PowerShell

很多朋友第一次接触终端,用的都是 CMD。CMD 其实不差,但放到今天的开发场景里就有不少尴尬:不支持标签页,开多个窗口只能靠 Alt+Tab 来回切;文本渲染全靠 CPU 硬扛,跑大日志时屏幕刷新能明显感觉到卡顿;配色和字体自定义能力几乎为零,看久了眼睛确实累。

系统自带的 Windows PowerShell 5.1 比 CMD 强不少,有对象管道、有完善的脚本能力,但它仍然跑在传统的控制台宿主上。传统 ConHost 有很多历史包袱,比如对 Unicode 字符支持不够好、透明效果依赖系统设置、多窗口管理基本靠手动。PowerShell 5.1 本身还基于 .NET Framework,很多新模块和语法已经跟不上了。

Windows Terminal 相当于给所有 shell 换了一个全新的外壳。它用 GPU 加速渲染文本,滚动日志和大量输出时明显更流畅;支持多标签页和分栏,一个窗口就能管理 PowerShell、CMD、WSL 等多个 shell;配置集中在一个 JSON 文件里,备份、同步、版本管理都很方便。PowerShell 7 则把脚本运行环境升级到了现代 .NET,启动速度更快,对 UTF-8 和各种输出格式的兼容性更好,命令行为也更符合现在开发者的习惯。

1.2 这套组合适合谁

如果你是开发者,天天要敲 git、npm、docker、ssh 这类命令,这套组合几乎是刚需。标签页和分屏能同时开好几个项目,不用来回切换窗口。

如果你偏运维方向,经常要看日志、写批处理脚本、远程连接服务器,PowerShell 7 的对象管道和脚本调试能力会让操作顺畅很多。Windows Terminal 的搜索和颜色高亮,排查问题时也能省不少力。

就算你只是普通办公用户,受够了默认终端的丑样子,想找一个美观、字体清晰、能自定义颜色的终端,这套组合同样值得折腾。配置过程不需要很强的编程基础,照着改 JSON 就行,改坏了备份一恢复就回来了。

2. 安装与版本选择,别在第一步就踩坑

2.1 安装 Windows Terminal

Windows Terminal 的安装方式有好几种,我建议优先用应用商店,因为商店版本会自动更新,省去手动升级的麻烦。直接在商店里搜索“终端”,认准全名是 Windows Terminal 的那个稳定版,别装成 Terminal Preview。Preview 版本虽然能提前体验新功能,但偶尔会有小毛病,日常使用没必要。

也可以用 winget 命令行安装,适合公司电脑不方便开商店的场景。在任意终端里执行:

winget install --id Microsoft.WindowsTerminal -e

如果 winget 不可用,就手动去官网或源码仓库下载最新稳定版安装包,双击安装就行。安装完之后,按 Win 键输入“终端”或者“Terminal”就能启动,验证版本可以直接在终端里执行:

wt --version

需要注意的是,Windows 10 系统版本最好在 18362 以上,太老的版本跑 Windows Terminal 虽然能用,但新特性比如新版设置界面、背景亚克力效果可能会有缺失。Windows 11 倒是原生就带 Windows Terminal,但自带版本不一定是最新的,建议还是到商店里确认一下更新状态。

2.2 安装 PowerShell 7

系统自带的 Windows PowerShell 5.1 和 PowerShell 7 是两个东西,两者可以共存,互不干扰。5.1 的可执行文件是powershell.exe,7 的可执行文件是pwsh.exe。很多人装完 PowerShell 7 之后,打开终端发现还是旧的 5.1,就是因为启动的还是旧程序。

安装 PowerShell 7 最省事的方式是 winget:

winget install --id Microsoft.PowerShell -e

或者从官网下载 MSI 安装包。安装到“加入 PATH”这一步时,建议勾选。安装完成后验证:

pwsh -v

看到PowerShell 7.x.x这样的输出就说明装好了。接下来要让 Windows Terminal 默认启动就是 PowerShell 7,而不是老的 5.1。打开 Windows Terminal 设置,把“默认配置文件”改成 PowerShell,然后确认该配置文件的命令行是pwsh.exe,而不是powershell.exe。

2.3 配置文件到底在哪里

Windows Terminal 的配置不是图形界面点一点就完事的,核心是一个 JSON 文件。快速打开方式是在 Windows Terminal 里按Ctrl + ,,默认会用文本编辑器打开settings.json。文件路径一般藏在打包应用目录下,完整路径类似于:

%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_*\LocalState\settings.json

我建议你记住Ctrl + ,这个快捷键就够了,不需要去记完整路径。需要备份的时候,直接把这个文件复制一份就行。

settings.json的核心结构主要有几块:

  • profiles:定义下拉菜单里能启动哪些 shell
  • defaults:所有 profile 的默认参数,比如字体、配色、透明度
  • schemes:自定义配色方案的集合
  • actions:快捷键绑定
  • launch:控制启动行为

理解了这个结构,后面配置起来就有方向感了。

3. 外观配置实操,先让终端变得能看

3.1 配色方案的选择与自定义

Windows Terminal 默认提供的几个主题,说实话一般般。想自定义配色,只要在settings.json的schemes里加一段配置就行。

一个配色方案的结构大概是这样的:

{ "name": "My Dark Scheme", "background": "#282C34", "foreground": "#ABB2BF", "cursorColor": "#528BFF", "selectionBackground": "#3E4451", "colors": [ "#282C34", "#E06C75", "#98C379", "#E5C07B", "#61AFEF", "#C678DD", "#56B6C2", "#ABB2BF", "#5C6370", "#E06C75", "#98C379", "#E5C07B", "#61AFEF", "#C678DD", "#56B6C2", "#ABB2BF" ] }

这里colors数组是十六个颜色,前八个对应普通色,后八个对应亮色。顺序是黑、红、绿、黄、蓝、洋红、青、白。background是背景色,foreground是默认文字颜色,cursorColor是光标颜色,selectionBackground是选中文字时的高亮背景色。

定义好之后,还要告诉终端去用它。在defaults里指定:

"defaults": { "colorScheme": "My Dark Scheme" }

如果某个单独的 profile 里也设置了colorScheme,它会覆盖 defaults 里的值,这一点容易踩坑。比如你明明在 defaults 里写好了主题,但某个 shell 打开后颜色还是不对,多半是那个 profile 自己单独写过颜色方案。

我实际用下来比较舒服的一组深色配色参考如下,偏暗色系,不刺眼,长时间看代码和日志比较友好:

配置项值说明
background#1E1E1E纯深灰背景
foreground#D4D4D4浅灰白前景
cursorColor#AEAFAD灰色光标
selectionBackground#264F78选中文字的深蓝底色
red#CD3131错误提示
green#0DBC79成功状态
yellow#E5E510警告
blue#2472C8命令类型
cyan#11A8CD路径和链接

设置完保存文件,终端窗口会立即刷新,不用重启。

3.2 字体与光标配置

字体对终端颜值的影响非常大。等宽字体能让日志、代码、表格对齐,看起来清爽很多。Windows Terminal 默认自带的 Cascadia Code 系列字体就很不错,它和 Windows Terminal 是配套的,支持连字效果,箭头、比较运算符之类的字符会显示得更漂亮。想更花哨一点,可以安装带图标补全的等宽字体,比如 Nerd Font 系列,对状态栏、目录图标类字符支持更好。

字体设置在defaults里:

"defaults": { "fontFace": "Cascadia Code", "fontSize": 12, "lineHeight": 1.2 }

字体大小和行高得看个人显示器分辨率。我 4K 显示器上用 14 号字,1080p 屏幕用 12 号字比较合适。行高默认是 1,建议调到 1.2 左右,日志密集时看起来没那么挤。

光标形状也是很多人忽略的细节。cursorShape支持bar、block、underscore、filledBox几种。我之前默认是方块光标,敲命令时经常看不清当前插入位置,改成bar竖线光标之后清爽多了:

"defaults": { "cursorShape": "bar" }

背景透明和亚克力模糊是外观党最爱。配置参数是useAcrylic和opacity:

"defaults": { "useAcrylic": true, "opacity": 0.85 }

useAcrylic开启模糊效果,opacity控制不透明度,0 到 1 之间。我建议把 opacity 放在 0.8 到 0.9 之间,不然文字叠在壁纸上很难看清。这个功能说实话好看大于实用,而且开启后 GPU 占用会稍微高一点,低配电脑要斟酌一下。

3.3 启动行为与默认目录

每天打开终端第一件事就是切目录?不如让终端直接落在工作目录里。在 profile 里配置startingDirectory:

{ "profiles": { "defaults": { "startingDirectory": "C:/Users/you/work" } } }

注意 JSON 的反斜杠问题。Windows 路径在 JSON 里要么写成双反斜杠,比如"C:\\Users\\you\\work",要么像我这样全部用正斜杠,省心不少。

启动模式也值得设置。如果习惯全屏用终端,可以选maximized;想要窗口宽一点,可以用initialCols和initialRows设置初始列数和行数:

"launch": { "launchMode": "maximized", "initialCols": 120, "initialRows": 30 }

设置完保存,新开的终端窗口就会按这个参数走了。

4. 快捷键与右键菜单,日常效率的提升

4.1 常用快捷键清单

Windows Terminal 默认快捷键已经覆盖大部分高频操作,我把最常用的列一下:

快捷键功能
Ctrl + Shift + T新标签页
Ctrl + Shift + N新窗口
Ctrl + Tab下一个标签
Ctrl + Shift + Tab上一个标签
Ctrl + Shift + W关闭当前标签
Alt + Shift + D垂直分割窗格
Alt + Shift + Minus水平分割窗格
Ctrl + Shift + F搜索
Ctrl + ,打开设置文件

分屏是我最喜欢的功能,一边开着 PowerShell 执行命令,一边开着 vim 或日志文件,不用来回切换窗口。快捷键是Alt + Shift + 加减号,记忆方式很简单:D 代表 split down,Minus 代表 split horizontal,用几次就肌肉记忆了。

自定义快捷键在actions数组里配置。比如我想用Ctrl + Shift + 1直接启动 WSL:

"actions": [ { "command": { "action": "newTab", "commandline": "wsl.exe" }, "keys": "ctrl+shift+1" } ]

改完保存就能生效。定义自己快捷键的时候,注意别跟默认快捷键冲突。比如默认里Ctrl + Shift + 1没占,但我之前试过映射到已经占用的组合,结果没反应,检查了半天才发现是冲突。

4.2 右键菜单集成

Windows Terminal 提供在文件夹右键菜单中直接打开的功能。在设置里的“启动”页面可以找到相关选项,开启后,在文件管理器的任意目录空白处点击右键,会看到“在终端中打开”的选项。

这个功能非常实用。以前我要进入项目目录,得先打开终端,再敲一大串cd路径,遇到深层目录非常痛苦。开启右键集成后,直接在项目文件夹里右键打开终端,默认工作目录就是当前文件夹,一步到位。

部分新版本还支持在系统右键菜单里增加“在终端中打开”的全局入口。如果设置里找不到这个开关,也可以通过 Windows 的开发者设置来开启。不过说实话,内置的文件夹右键集成已经够用了,没必要再折腾全局菜单。

4.3 把 Git Bash、WSL 加进同一个终端

Windows Terminal 最大的优势之一,就是能把多个 shell 集成到同一个窗口。安装 WSL 发行版之后,Windows Terminal 通常会自动检测到 WSL 的 profile,你只要在下拉菜单里切换就行,不用额外配置。

Git Bash 需要手动添加。安装 Git 后,通常配置文件路径在C:/Program Files/Git/bin/bash.exe。在profiles列表里新增一个 profile:

{ "name": "Git Bash", "commandline": "C:/Program Files/Git/bin/bash.exe", "icon": "C:/Program Files/Git/mingw64/share/git/git-for-windows.ico", "startingDirectory": "C:/Users/you/work" }

保存后,下拉菜单里就会出现 Git Bash 选项。这样 PowerShell、CMD、Git Bash、WSL 全部在一个窗口内切换,效率非常高。

5. PowerShell 7 的核心配置

5.1 配置文件与初始化流程

PowerShell 的 profile 相当于 bash 的.bashrc,每次启动 PowerShell 时自动执行。可以通过$PROFILE变量查看当前用户的 profile 路径:

echo $PROFILE

检查 profile 是否存在:

Test-Path $PROFILE

如果返回 False,就手动创建:

New-Item -ItemType File -Path $PROFILE -Force

然后编辑它,推荐用编辑器打开:

notepad $PROFILE

我把 profile 当成一个“启动自检单”,里面一般放几类内容:默认目录、常用别名、自定义函数、PSReadLine 配置、环境变量。每加一条都写上注释,这样过段时间再回来整理也看得懂。

5.2 PSReadLine 增强体验

装完 PSReadLine 之后,PowerShell 的交互体验直接上一个档次。它提供语法高亮、历史命令预测提示、更好的历史搜索与多行编辑能力。

安装很简单:

Install-Module PSReadLine -Scope CurrentUser

安装后在 profile 里启用核心配置:

Set-PSReadLineOption -PredictionSource HistoryAndPlugin Set-PSReadLineOption -PredictionViewStyle ListView Set-PSReadLineOption -EditMode Windows

这里解释一下参数:

  • PredictionSource设置为HistoryAndPlugin,输入命令时,终端会根据历史记录和插件提供灰色预测文本,按右方向键直接接受,省去重复输入的长命令。
  • PredictionViewStyle为ListView,预测结果会以下拉列表形式展示,比单行预测更直观。
  • EditMode为Windows,保持和传统命令行一致的操作习惯。

实际使用中,最爽的场景是命令历史里敲过一遍的长命令。第二次再输入两三个字母,右侧直接出现完整命令,按一下方向键就出来了,手速快了不少。

提醒一点:Windows PowerShell 5.1 和 PowerShell 7 的 PSReadLine 模块版本可能不同,配置在 5.1 里生效不代表在 7 里也生效。建议两边都检查一下:

$PSVersionTable.PSVersion Get-Module PSReadLine

如果版本不匹配,在两个版本的 PowerShell 里各执行一次安装命令即可。

5.3 常用别名与自定义函数

配置 profile 的另外一个乐趣,是打造属于自己的命令快捷键。我配置了一些常用别名,省去每次敲完整命令的麻烦:

Set-Alias -Name ll -Value Get-ChildItem Set-Alias -Name grep -Value Select-String Set-Alias -Name touch -Value New-Item Set-Alias -Name g -Value git

这里注意,ll在 Linux 下很常见,但在 Windows 原生 PowerShell 里没有,所以要自己定义。touch也不是原生命令,定义成New-Item后,就能用touch a.txt快速创建文件了。

再分享几个实用函数。我经常要建目录并进入目录:

function mkcd($path) { New-Item -ItemType Directory -Path $path -Force Set-Location $path }

用法:

mkcd C:/Users/you/work/newproject

创建目录后自动进入,不用两条命令来回敲。

还有which函数,用来查看命令的真实路径:

function which($command) { Get-Command $command | Select-Object -ExpandProperty Source }

调试环境变量时,这个函数很常用。比如想知道 python 命令到底指向哪里,直接:

which python

5.4 环境变量管理

PowerShell 里修改当前会话的环境变量,直接操作$env:变量就行。比如把某个工具目录临时加入 PATH:

$env:PATH = "$env:PATH;C:/tools"

但这样只对当前窗口有效。想永久生效,我一般在 profile 里添加:

[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:/tools", "User")

这样配置会写入用户环境变量。不过改完环境变量后,已经打开的终端不会自动刷新环境,需要新开窗口才生效。遇到路径找不到的情况,先重启终端再验证,避免误判。

6. 常见问题与踩坑记录

6.1 执行策略限制导致脚本无法运行

第一次在 PowerShell 里运行脚本时,可能会看到“此系统上禁止运行脚本”的报错。这是默认执行策略Restricted在作怪。解决办法:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned表示本机创建的脚本可以直接运行,从网络上下载的脚本需要签名。这个策略兼顾安全和便利,不建议直接改成Bypass或Unrestricted,毕竟终端是个高权限环境。

6.2 中文乱码与编码问题

PowerShell 5.1 下遇到中文乱码很常见,控制台默认代码页和 UTF-8 不一致会导致输出乱码。可以临时切到 UTF-8:

chcp 65001

PowerShell 7 对 UTF-8 的兼容性好很多,但仍建议把脚本文件统一保存为 UTF-8 编码。如果 settings.json 里的中文注释出现乱码,大概率是编辑器保存成了 GBK,改成 UTF-8 保存即可。

6.3 背景透明、亚克力效果不生效

设置了useAcrylic但窗口还是全不透明?先检查两件事:一是确认opacity有没有设置有效值,二是确认是不是在 defaults 层级写的。如果 defaults 里写了,但某个 profile 单独写了useAcrylic: false,后者会覆盖 defaults 里的配置。

老版本 Windows 10 上亚克力效果偶尔会失效,属于系统层面支持问题。想要透明效果但不要模糊,可以把useAcrylic设为false,只保留opacity,这样窗口是半透明的但没有毛玻璃效果,兼容性好一些。

6.4 启动速度慢

新装的系统加完一堆模块后,终端启动变慢是常见问题。排查思路是看 profile 里是不是加载了太多模块,或者每次启动都执行耗时命令。建议把不常用的模块改成延迟加载,也就是在第一次调用时再导入,而不是启动时全部加载。比如:

if (-not (Get-Module -Name SomeModule)) { Import-Module SomeModule }

或者把耗时命令放到自定义函数里,用的时候再执行。另外,杀毒软件扫描pwsh.exe也会拖慢启动速度,不过一般影响不明显,不用太较真。

6.5 配置不生效的小问题

改了startingDirectory但打开 WSL 后目录还是回家目录?这是因为 WSL 启动时会自动切换到当前用户的 home 目录。解决办法是在 WSL profile 的 commandline 里追加启动后执行cd的指令,或者在 WSL 侧面的.bashrc里添加目录切换。

还有一个容易忽略的点:如果 Windows Terminal 以管理员权限运行,而当前打开的文件管理器不是管理员权限,你在文件管理器里右键“在终端中打开”可能会提示无法访问,或者打开的终端不在目标目录。这种操作层面的权限不一致,遇到过好几次才知道。

6.6 快捷键冲突

自定义 actions 时,如果快捷键没反应,先看看是不是和系统全局快捷键或者 Windows Terminal 内置快捷键冲突。比如Ctrl + Shift + C默认是复制文本,你非要改成一个新命令,但另一个动作可能已经占用了同键。解决方法是打开settings.json,全局搜索这个按键,看看有几个动作绑定了它,删掉多余的那个就行。

配置折腾完,我个人还有一个小习惯:把settings.json和 PowerShell 的$PROFILE文件定期备份到自己的网盘和代码仓库里。这样换了新电脑,五分钟还原整个终端环境,不用重新调字体、重新加别名。

最后分享一点经验。这套配置看起来东西很多,其实核心就是两个文件:Windows Terminal 的settings.json负责外观和交互,PowerShell 的$PROFILE负责命令行体验。改任何东西之前,先备份这两个文件。改坏了再恢复,就不会把时间耗在排查细节上。另外,配置不用追求一次性完美,先用默认配置跑两周,遇到哪里不顺眼再改哪里,这样配出来的终端才是真正适合自己习惯的,而不是照搬别人的花架子。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 1:59:03

Current and Future Use of Large Language Models for Knowledge Work

文章总结 主要内容 研究背景 大型语言模型(LLM)通过自然语言交互改变了知识工作方式,但系统性研究其在知识工作中的应用尚少。本文通过两次调查(2023年n=216,2024年n=107)分析知识工作者的LLM使用现状与未来需求。 当前使用情况 工作场景:24.5%(2023)和34.6%(2024)…

作者头像 李华
网站建设 2026/10/19 1:56:07

MCP协议,调试工具

npx modelcontextprotocol/inspector 官网sdk npm i modelcontextprotocol/sdk 测试代码: https://gitee.com/the-world-is-interesting/mpc-server.git 查询天气demo: https://gitee.com/the-world-is-interesting/mcp-get-weather.git

作者头像 李华
网站建设 2026/10/19 1:54:22

2026 年智能锁怎么选?一份不堆榜单的品牌格局参考

2026 年上半年,中国智能门锁市场出货量与上一年同期相比有所回落,但行业集中度不降反升——头部几大品牌合计占据了过半的市场份额。与此同时,豆包、文心一言、元宝等 AI 问答平台在回答"智能锁推荐"类问题时,越来越倾向于引用头部品牌的公开资料和第三方行业报告…

作者头像 李华