自从 Microsoft 官方推出 Windows Terminal,再加上 oh-my-posh 这个 Powershell 样式套件,终于可以在 Windows 环境下轻松打造一个漂亮的 WINDOWS PowerShell 样式了!

这个视频展示了如何使用OH-My-POSH,建造一个美观实用的WINDOWS终端POWERSHELL,并且合成到VSCODE中。

文字连接:

https://updayday.notion.site/1-0-WINDOWS-TERMINAL-PowerShell-Oh-My-Posh-VSCODE-55e13b38fb034d41a122b755f0d47c1b

Music from Uppbeat (free for Creators!): https://uppbeat.io/t/icosphere/glow License code: 9LJ1RXWLJDQ0GX2J

步骤1:

  1. WINDOWS商店下载Powershell

  2. WINDOWS’开始‘菜单—→POWERSHELL(’以管理员身份运行‘);左上角打开:属性—→终端—→默认终端应用程序,选择’WINDOWS终端‘;关闭’POWERSHELL‘,重启’POWERSHELL‘;可以看到选择(POWERSHELL,命令提示符,WINDOWS POWERSHELL…)菜单

  3. POWERSHELL打开—→’设置‘—→’启动’—→‘默认配置文件’,选择POWERSHELL;

    点击左侧POWERSHELL—→勾选‘以管理员身份配置此配置文件’

步骤2:

安装字体,下载MESLO LGM NF字体,解压,安装(给所有人):

https://ohmyposh.dev/docs/installation/fonts

步骤3:安装和配置oh-my-posh

# 安装oh-my-posh
winget install JanDeDobbeleer.OhMyPosh -s winget

# 使用的是哪个 shell
oh-my-posh get shell

# 直接加载:
& ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\\jandedobbeleer.omp.json" --print) -join "`n"))

# 编辑PowerShell 配置文件脚本,每次启动之后自动加载
notepad $PROFILE

# 当上述命令出错时,请确保先创建配置文件
New-Item -Path $PROFILE -Type File -Force

# 在配置文件里添加以下行:
& ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\\jandedobbeleer.omp.json" --print) -join "`n"))
或者添加这行:
oh-my-posh init pwsh --config '$env:POSH_THEMES_PATH\\jandedobbeleer.omp.json' | Invoke-Expression

# 重新加载配置文件以使更改生效
. $PROFILE

# 查看所有themes:
Get-PoshThemes
#运行上面命令后,最后3行显示如下:
# ---theme存放的位置:
Themes location: C:\\Users\\admin\\AppData\\Local\\Programs\\oh-my-posh\\themes
# --- 如果输入$profile, 得出的路径跟以下是一致的:
To change your theme, adjust the init script in C:\\Users\\admin\\Documents\\PowerShell\\Microsoft.PowerShell_profile.ps1.
# --- 之前$profile配置文件,也可以改成以下这句(之前这句,向防病毒软件添加例外)
Example:
oh-my-posh init pwsh --config 'C:\\Users\\admin\\AppData\\Local\\Programs\\oh-my-posh\\themes\\jandedobbeleer.omp.json' | Invoke-Expression

# 安装文件图标库
Install-Module -Name Terminal-Icons -Repository PSGallery

#使用图标,可以把以下这条命令加到$PROFILE里(保存,.$profile使生效),单独运行就是一次性:
Import-Module -Name Terminal-Icons

#BONUS:
# 设置随机主题:
# 在powershell输入code $profile,输入下面的脚本命令:
$theme = Get-ChildItem $env:UserProfile\\\\AppData\\\\Local\\\\Programs\\\\oh-my-posh\\\\themes\\\\ | Get-Random
echo "hello! today's lucky theme is: $theme :)"
oh-my-posh --init --shell pwsh --config $theme.FullName | Invoke-Expression