
通过配置oh-my-posh、字体和PowerShell模块,实现PowerShell美化与增强,提升命令行效率和个性化体验。
在开发中我依赖命令行或者终端操作,通过IDE的图形界面让我感觉很不放心或者效率低下。此前长期使用cmder,这是非常出色的命令行工具,但是在同copilot的交互中,存在一些局限。
为寻求更顺手的Windows平台终端方案,我参考了ChatGPT的建议,转而使用PowerShell。
默认的PowerShell风格让我感觉到很不顺手,尝试着对其进行个性化定制。
我的要求很简单:
那如何配置我的pwsh呢?
需要关注两个整合文件:
oh-my-posh是一个非常流行的跨平台的shell/terminal的定制化风格解决方案,他主要关注两个点:
如上的命令会把oh-my-posh命令安装到C:\Users\<当前用户名>\AppData\Local\Programs\oh-my-posh\bin目录下,我们需要修改系统的Path变量,使其可以在任何目录下使用。
集成oh-my-posh可以让你定制prompt的风格,如添加上一些场景图标,感觉会更好,默认的PS的字体无法显示这些个性化的图标内容。
安装字体:
网络原因,设定PS的代理提高字体的安装速度: $env:HTTP_PROXY="http://代理ip或者hostname:port" $env:HTTPS_PROXY="http://代理ip或者hostname:port"
在PowerShell的profile文件中,加入如下的初始化信息:
完成后,可以重启PowserShell查看效果。
我当前使用windows作为开发环境,选用了amro.omp作为基础风格,并做了稍微变更。
风格效果如下:

参考官方文档:https://ohmyposh.dev/docs/installation/fonts#configuration
如果没有这部分配置,那么上面风格中,图标部分就会出现乱码。
在打开的settings.json(文件如何打开,请查看"准备"部分)文件中,填入如下的字体配置信息,请注意段落标识信息。
到这里同oh-my-posh整合就算结束了。
终端中的一些文字颜色或者背景颜色,也可以通过settings.json文件配置进行修改。
访问https://windowsterminalthemes.dev/,通过Pre和Next进行各种主题颜色的预览,而后点击Get theme获取颜色配置参数。

整合入settings.json中

借助Profile文件,添加一个"覆盖重写"的Set-Location函数,用于激活python的虚拟环境。
我使用uv进行python的虚拟机环境管理,默认使用.venv目录存放虚拟环境,你可以按照你的环境进行修改。
这是PS的命令行编辑和交互增强模块,提供命令历史预测与自动补全、语法高亮、命令历史持久化等功能
如何开启: