Windows 下升级到 PowerShell 7 并配置智能补全美化
本文最后更新于 2026年1月26日 晚上
前言
Windows 系统自带的 PowerShell 5.1 已经显得有些过时了。在日常使用中,你可能会遇到中文乱码、命令补全不够智能、终端界面单调等问题。PowerShell 7 作为微软推出的新一代跨平台终端,不仅完全兼容旧版本的大部分功能,还带来了更好的性能表现和诸多现代化特性。
本文将从零开始,带你打造一个既美观又实用的 PowerShell 7 环境。完成配置后,你将拥有一个支持智能补全、命令预测、Git 状态显示,并且不会出现乱码的现代化终端。
安装 PowerShell 7
首先需要安装 PowerShell 7。最简单的方式是使用 Windows 自带的包管理器 Winget。打开现有的任意终端(按 Win + X 然后选择”终端”),输入以下命令:
1 | |
安装过程会在几分钟内完成。安装完成后,可以在开始菜单中搜索”PowerShell 7”来启动,或者在任意终端中输入 pwsh 命令。为了确认安装成功,运行 $PSVersionTable 命令,你应该能看到版本号显示为 7.x 以上。
为了让 PowerShell 7 成为日常使用的默认终端,建议在 Windows Terminal 的设置中进行配置。按 Ctrl + , 打开设置界面,在”启动”选项卡中找到”默认配置文件”,然后从下拉列表中选择”PowerShell”(注意不是”Windows PowerShell”)。这样以后每次打开终端时,就会自动使用 PowerShell 7 了。

美化终端界面
默认的 PowerShell 提示符只显示一个简单的路径和大于号,看起来比较单调。Oh My Posh 是一个强大的提示符主题引擎,可以让终端变得更加美观,还能显示 Git 分支、命令执行时间等实用信息。使用winget安装
1 | |
或直接在微软商店下载即可

安装完成后需要重启终端让环境变量生效。
字体配置
不过在应用主题之前,还有一个重要的准备工作——安装支持图标显示的字体。Oh My Posh 的主题中大量使用了特殊图标来美化界面,比如 Git 分支符号、文件夹图标等。如果使用普通字体,这些图标会显示为方框或乱码。
这里推荐使用 MesloLGS NF 字体,这是 Powerlevel10k 项目专门定制的字体,对各种图标和符号的支持非常完善。Oh My Posh 可以帮你自动安装这个字体:
1 | |
如果你想手动下载安装,可以访问 Powerlevel10k 的字体仓库下载以下四个文件:
下载后双击每个文件点击”安装”即可。当然,如果你对其他 Nerd Font 字体感兴趣,也可以从 Nerd Fonts 官网 下载 CaskaydiaCove NF、FiraCode NF 或 JetBrainsMono NF 等字体。
字体安装好之后,需要在 Windows Terminal 中进行配置。按 Ctrl + , 打开设置,在左侧菜单选择”配置文件”下的”PowerShell”,然后点击”外观”选项卡,在字体下拉框中选择刚才安装的 MesloLGS NF。保存设置后,终端就可以正确显示各种图标了。
VS Code 中的字体配置
如果你经常在 VS Code 的集成终端中使用 PowerShell,也需要配置字体。按 Ctrl + Shift + P 打开命令面板,输入”Preferences: Open User Settings (JSON)”打开配置文件,然后添加以下内容:
1 | |
这些配置不仅设置了终端字体,还确保了 PowerShell 7 作为默认终端,并且将文件编码统一设置为 UTF-8,避免中文乱码问题。保存后重新打开 VS Code 的终端,配置就会生效。
选择和应用主题
Oh My Posh 内置了数十个精美主题,可以通过 Get-PoshThemes 命令预览所有主题。每个主题会直接在终端中实时渲染,你可以根据自己的喜好选择。比较流行的主题有 paradox、agnoster、atomic、powerlevel10k_rainbow 等。
配置 PowerShell 配置文件
PowerShell 通过配置文件(Profile)来自动加载个性化设置。你可以通过 $PROFILE 变量查看配置文件的位置,通常是 C:\Users\你的用户名\Documents\PowerShell\Microsoft.PowerShell_profile.ps1。
如果这个文件还不存在,可以用以下命令创建:
1 | |
然后用编辑器打开它(推荐使用 VS Code):
1 | |
接下来需要在配置文件中添加启动配置,让每次打开终端时都能自动加载 Oh My Posh 主题和智能补全功能。
智能补全与命令预测
PowerShell 7 的一个强大特性就是智能补全和命令预测功能,类似于 Fish Shell 的体验。要实现这个功能,需要安装和配置 PSReadLine 模块和 CompletionPredictor 模块。
首先升级 PSReadLine 到最新版本:
1 | |
然后安装 CompletionPredictor 增强型补全预测器:
1 | |
这两个模块安装完成后,可以在配置文件中进行设置。下面是一个完整的配置示例:
1 | |
这个配置做了以下几件事:首先初始化 Oh My Posh 主题(这里使用的是 amro-cus 主题,你可以替换成任何你喜欢的主题文件名);然后配置 PSReadLine 模块,开启基于历史记录和插件的智能预测,使用列表视图显示补全建议,并且设置了一些便捷的快捷键;最后导入 CompletionPredictor 模块来增强补全功能。
配置完成后,保存文件并运行 . $PROFILE 重新加载配置,或者直接重启终端。你会立即感受到变化:当你输入命令时,终端会自动显示基于历史记录的灰色建议文字;按 Tab 键会弹出一个列表菜单显示所有可能的补全选项;按上下箭头可以根据当前输入搜索历史命令。
常见问题
脚本执行策略问题
如果在加载配置文件时遇到”无法加载文件,因为在此系统上禁止运行脚本”的错误,这是因为 Windows 默认的安全策略阻止了脚本执行。解决方法是修改执行策略:
1 | |
这个命令会允许运行本地脚本,同时保持对下载脚本的安全检查。
图标显示异常
如果配置完成后仍然看到方框或乱码,首先确认是否正确安装了 Nerd Font 字体,然后检查终端的字体设置是否选择了正确的字体。对于 Windows Terminal,需要在配置文件的外观选项中设置字体;对于 VS Code,需要在 settings.json 中设置 terminal.integrated.fontFamily。另外,字体更改后需要重启终端或编辑器才能生效。
中文乱码
如果遇到中文显示乱码的问题,通常是编码设置不正确导致的。在 PowerShell 配置文件的开头添加以下代码:
1 | |
同时确保 VS Code 的配置文件中设置了 "files.encoding": "utf8"。
进阶工具推荐
如果你想进一步提升命令行体验,可以安装一些现代化的替代工具。比如 eza 可以替代传统的 ls 命令,提供彩色输出和 Git 状态集成;bat 是更好的 cat 命令替代品,支持语法高亮;fd 是现代化的 find 命令,速度更快使用更简单;ripgrep 是极速的代码搜索工具;fzf 提供了强大的命令行模糊查找功能。
这些工具都可以通过 Winget 安装:
1 | |
安装后可以在配置文件中设置别名,让这些新工具无缝替代原有命令:
1 | |