Windows PowerShell 美化

本文最后更新于:2022年6月28日星期二晚上11点14分

简介

这是属于颜狗的胜利,丑不拉几的都不是咱们颜狗想要的,终端也是可以花里胡哨的,人家 linux 可以使用 oh-my-zsh,将他们的 terminal 打扮的花里胡哨的,咱们 windows 下的 terminal 也要站起来。所以大佬们就站出来了,他们做出来了 oh-my-posh,让咱们 windows 也可以使用漂漂亮亮的终端。

windows terminal 也可以装饰咱们的终端,但是,不够呀,咱们想要做成 oh-my-zsh 那样的漂漂亮亮。知道提示符(Prompt)也需要烧烧的。

Oh My Posh —— A prompt theme engine for any shell.

Oh My Posh 正是这样一款终端 Prompt 个性化工具,虽然肇始于同类工具 Oh My Zsh,但当更新到 5.0 版本时,重新设计的 Oh my posh 已经摆脱平台的桎梏,支持了 Windows、GNU/Linux(WSL)macOS 三个系统上的 PowerShellbashzsh 等终端。

需要使用 WindowsTerminal

安装 Oh My Posh

官方文档上写到,Oh My Poshwindows 下有三种安装途径:wingetscoopmanual。本文通过 scoop 进行安装。

想使用其他方法的可进官方文档查看 —— Windows Install Oh My Posh

Scoop

在安装 Oh My Posh 之前,还需要安装一个 Windows 下的包管理工具 —— Scoop

Scoop 是 Windows 下的一款十分强大的包管理器,可以用来下载和管理各种软件包
首次需要打开并运行 PowerShell terminal (version 5.1 or later)。

然后使用下列命令进行安装:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 
# Optional: Needed to run a remote script the first time
Invoke-WebRequest get.scoop.sh | Invoke-Expression

Oh My Posh

通过 scoop 进行安装:

scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

当出现图示内容(绿色)时,说明安装成功。

除了使用官方文档提到的方式进行安装。还可以使用 scoop install oh-my-posh 进行安装。
这是 scoop apps中所提到的。

使用此种方法时,要跟着文档的方法走哦。
安装成功截图:

如果想要卸载 Oh My Posh 的话,可以使用命令 scoop uninstall oh-my-posh,进行卸载。
卸载成功截图:

字体

Oh My Posh 提示到** 要显示所有图标,我们建议使用 Nerd Font。**

所以咱就下载 Nerd Font 字体吧。

如果不适用 Nerd Font 的话,就会出现这种情况:

可见 icon 们均没有正常显示,而是显示的方框,这也是为什么要使用 Nerd Font 的原因了。

人家自己也说了—— “To display all icons, we recommend the use of a Nerd Font.”

进入官网后选择一个中意的字体下载就行。我自己使用的 Hack Nerd Font(点击可直接下载该字体)

然后进行安装啦,打开压缩包,选择喜欢的(细、粗)字体,然后点击安装。

也可以使用 scoop 安装 Nerd Font 字体:

scoop bucket add nerd-fonts

再在 nerd fonts 字体库 找到需要安装的字体。
然后就执行命令:

scoop install Hack-NF

安装完成后需要重启 Windows Terminal 才可以设置字体哦,否则会设置失败。

最后,在 windows terminal 中将字体选择为 Hack Nerd Font,即可。

posh-git

posh-git 可以在 PowerShell 中显示 Git 状态的摘要信息并自动补全 Git 命令。

通过 scoop 来安装,依次执行命令:

scoop bucket add extras

scoop install posh-git

Terminal-Icons

Terminal-Icons 可以在 PowerShell 中显示项目图标并以颜色区分。让你的 Powershell 变得更加的花哨。

通过 scoop 来安装,依次执行命令:

scoop bucket add extras

前文中已执行过该命令,此次可不在执行。

scoop install terminal-icons

安装完成后,还贴心的提示了如何使用呢。

配置 Oh My Posh

完成上述的安装后,启动 PowerShell 时并不会默认加载个性化后的配置,因此需要修改 PowerShell 配置文件来让每次启动都加载。

执行命令打开配置文件:

notepad $PROFILE

若提示不存在文件,且提示是否创建文件,则直接创建,否则需要手动在 PowerShell 目录下创建一个配置文件再进行编辑。

若需手动创建配置文件,则依次执行命令:

mkdir ~\Documents\WindowsPowerShell
# 创建文件夹
echo "" > ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
# 创建配置文件

最后向配置文件中添加:

# 使用 oh my posh
oh-my-posh init pwsh | Invoke-Expression
# 使用 Terminal-Icons
Import-Module Terminal-Icons
# 使用 posh-git
Import-Module posh-git

最后重新启动 PowerShell,或者是输入命令 powershell 即可查看美化后的界面。

配置主题

完成全部安装和配置后,使用的是默认主题,如果想要切换成其它主题,可以去 官方主题目录 查看各种主题的效果,同时这些主题也被安装在 Oh My Posh 的主题目录下。

通过 scoop 安装后的主题目录为:

~\scoop\apps\oh-my-posh\current\themes

所有主题配置文件都放在这里,并以 .omp.json 结尾,从其它地方下载的主题配置文件也需要放在这里。

在终端中执行以下命令,就可以查看所有主题在终端中的效果:

Get-PoshThemes ~\scoop\apps\oh-my-posh\current\themes

选择一个主题的名字,如 paradox,然后编辑 PowerShell 的配置文件,执行命令:

notepad $PROFILE

将其中的 oh-my-posh init pwsh | Invoke-Expression 加上 --config [主题路径] 参数:

oh-my-posh init pwsh --config ~\scoop\apps\oh-my-posh\current\themes\paradox.json | Invoke-Expression

最后重新启动 PowerShell,或者是输入命令 powershell 即可查看美化后的界面。

配置 VS code

VS code 中也能打开 PowerShell 终端,但是由于没有配置终端字体,因为 icon 们还是没有正常显示,而是显示的方框。

因此需要设置 VSCode 的终端字体为 Hack Nerd Font 才能正常显示。

首先打开设置,搜索 Terminal > Integrated > Font Family

然后添加 Hack Nerd Font

最后重新打开终端,或是执行 powershell,即可查看美化界面。

成品

完成上述配置,以及对 Windows Terminal 的配置文件进行修改后,咱就获得了一个花哨的 PowerShell:

参考


Windows PowerShell 美化
https://muxiner.github.io/powershell-beauty/
作者
Muxiner
发布于
2022年5月6日
许可协议