构建一个Windows下好用的终端--WindowsTerminal+PowerShell美化

312 阅读1分钟

构建一个Windows下好用的终端--WindowsTerminal+PowerShell美化

前排提示: 美化会影响powershell打开的速度。

先来一个结果效果图(使用主题di4am0nd):

image.png

使用到的工具和系统版本:

首先推荐安装Windows Terminal,这个直接去微软商店下就行。

# 查看系统版本信息
$ Get-ComputerInfo | Select-Object -Property OsName, OsVersion, OsManufacturer, OsBuildNumber

OsName                          OsVersion  OsManufacturer        OsBuildNumber
------                          ---------  --------------        -------------
Microsoft Windows 11 家庭中文版 10.0.22631 Microsoft Corporation 22631

# 查看Powershell版本信息
$ $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      22621  3880

另外,需要使用Scoop进行安装,如未安装 Scoop 推荐安装并使用。

可以参考本人使用的 Scoop教程

PSReadLine 安装

使用Scoop安装的命令如下:

# 搜索PSReadLine
scoop search PSReadLine

# 添加 extras bucket
scoop bucket add extras

# 安装 PSReadLine
scoop install PSReadLine

posh-git 安装

使用Scoop安装的命令如下:

scoop install posh-git

oh-my-posh 安装

使用Scoop安装的命令如下:

scoop install oh-my-posh

字体安装

oh-my-posh 中使用了很多图标字体,需要正常显示图标,需要安装一个 Nerd 字体,并修改 PowerShell 配置。

安装好后可以直接使用 Windows Terminal 在设置>其他设置>外观 进行设置。

Nerd

oh-my-posh font install

导入主题

# 查看oh-my-posh内置主题 比较多 大概挑个喜欢的用就行
Get-PoshThemes

# 修改主题 di4am0nd 为例
# 如果要换别的主题 从上面那条命令拷贝下主题名 把下面的 di4am0nd 替换了就行
 oh-my-posh init pwsh --config "$(scoop prefix oh-my-posh)\themes\di4am0nd.omp.json" | Invoke-Expression
 
# 比如切换成 ys 
oh-my-posh init pwsh --config "$(scoop prefix oh-my-posh)\themes\ys.omp.json" | Invoke-Expression

修改powershell配置文件

如果要编辑powershell配置文件:

# 使用系统自带记事本编辑配置文件
notepad $PROFILE

# 使用 VSCode 编辑配置文件
code $PROFILE

第一次执行可能会会显示找不到该文件,选择创建新文件就行。

需要设置自动引入主题等配置。参考如下:


#------------------------------- Import Modules BEGIN -------------------------------
# 引入 ps-read-line
Import-Module PSReadLine

# 导入 posh-git 模块
Import-Module posh-git

# 设置 oh-my-posh Shell 提示主题
# 解决编码问题
$previousOutputEncoding = [Console]::OutputEncoding
[Console]::OutputEncoding = [Text.Encoding]::UTF8
try {
	oh-my-posh init pwsh --config "$(scoop prefix oh-my-posh)\themes\di4am0nd.omp.json" | Invoke-Expression
} finally {
    	[Console]::OutputEncoding = $previousOutputEncoding
}

#------------------------------- Import Modules END -------------------------------

#------------------------------- Set Hot-keys BEGIN -------------------------------
# 如果有需求 可以在这里设置快捷键和一些命令

# 设置 Tab 菜单补全
Set-PSReadlineKeyHandler -Key Tab -Function Complete

#-------------------------------  Set Hot-keys END    -------------------------------

修改字体之类的配置,打开Windows Terminal,根据你的需求修改配置即可。

1723047066128.png