必须先安装Windows Terminal、PowerShell 7和Nerd Fonts字体:PowerShell 7提供现代语法与模块兼容性,Terminal是美化载体,Nerd Fonts负责渲染图标,缺一则导致方块乱码或主题失效。

安装必要组件
要在Windows终端中实现PowerShell美化,必须先装好Windows Terminal、PowerShell 7和Nerd Fonts字体,三者缺一不可。PowerShell 7提供现代语法支持和模块兼容性,旧版PowerShell 5.1无法加载oh-my-posh最新主题;Windows Terminal是承载美化效果的容器;而Nerd Fonts则负责渲染图标——没有它,所有箭头、锁、分支符号都会显示为方块。
打开Microsoft Store,搜索并安装“Windows Terminal”和“PowerShell”。安装完成后,重启系统确保服务注册完成。
访问nerdfonts.com,下载Cascadia Code PL或JetBrainsMono Nerd Font,解压后全选.ttf文件→右键→“为所有用户安装”。【必须重启Terminal才能识别新字体】
配置Windows Terminal默认字体与启动项
启动Windows Terminal → 按 Ctrl + , 打开settings.json → 在"profiles.defaults"区块内添加或修改以下字段:
"fontFace": "Cascadia Code PL",
"fontSize": 12,
"padding": "8, 8, 8, 8"
接着定位到"startup"对象,将"defaultProfile"值设为PowerShell 7的GUID(可在"profiles.list"中查找包含"PowerShell 7"字样的项,复制其guid字段值)。若未找到,说明PowerShell 7未被自动发现,需手动添加一个profile条目,其中"commandline"设为"C:\Program Files\PowerShell\7\pwsh.exe"。
安装oh-my-posh并初始化
以管理员身份打开PowerShell 7窗口,运行:
winget install JanDeDobbeleer.OhMyPosh
安装完成后,执行:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATHjandedobbeleer.omp.json" | Invoke-Expression
这行命令会输出一段初始化脚本,但别直接回车——你需要把它写入PowerShell配置文件。先运行:
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
New-Item -Path $PROFILE -Type File -Force
再运行:
notepad $PROFILE
在记事本中粘贴上一步输出的整段代码(以"oh-my-posh init pwsh..."开头),保存并关闭。
启用主题并验证效果
方法一:快速启用默认主题
重启Windows Terminal,输入以下命令立即生效:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATHjandedobbeleer.omp.json" | Invoke-Expression
方法二:永久生效(推荐)
打开$PROFILE文件(路径为C:Users用户名DocumentsPowerShellMicrosoft.PowerShell_profile.ps1),确认已包含上一步粘贴的完整初始化语句。若无,请补全;若有,请检查末尾是否遗漏了管道符|和Invoke-Expression。
方法三:切换其他主题
先列出所有可用主题:
Get-ChildItem "$env:POSH_THEMES_PATH" -Filter "*.omp.json" | ForEach-Object { $_.BaseName }
选中一个喜欢的主题名(如"agnoster"),替换$PROFILE中init命令里的json文件名,保存后关闭所有终端窗口,重新打开Windows Terminal即可看到变化。

















