在windows中使用Oh My Posh美化你的终端PowerShell或WSL

在windows中使用Oh My Posh美化你的终端PowerShell或WSL

安装Windows terminal

Windows 终端是一个新式主机应用程序,它面向你喜爱的命令行 shell,如命令提示符、PowerShellbash(通过适用于 LinuxWindows子系统 (WSL))。 它的主要功能包括多个选项卡、窗格、UnicodeUTF-8 字符支持、GPU 加速文本呈现引擎,你还可用它来创建你自己的主题并自定义文本、颜色、背景和快捷方式。

安装 windows terminal 最简单的方法就是访问 Windows Terminal - Microsoft Apps 来安装!如下图:

安装完成,后我们就可以使用了。

可以在 Windows 终端中拉出选项卡并创建新窗口。

还可以将选项卡拖放到现有窗口中。

配置 Oh My Posh

我们同样可以在window中配置自己想要的终端样式,接着看下面的操作:

我们可以使用 Oh My Posh 自定义 PowerShell或适用于 LinuxWindows子系统 (WSL) 的命令提示符。 Oh My Posh 提供完全自定义的命令提示符体验的主题功能,提供 Git 状态颜色编码和提示符。如下图:

安装 Oh My Posh for PowerShell

如果要自定义 PowerShell 提示符,可使用 winget 安装 Oh My Posh。 在powershell终端中输入以下命令:

 winget install JanDeDobbeleer.OhMyPosh

这将安装:

  • oh-my-posh.exe:Windows 可执行文件
  • themes:最新的主题

在安装的过程中我们会遇到同意条款的选项,并且可能会遇到多个包可用的情况。 在这种情况下,选择希望使用的包 ID 并重新输入命令:winget install <package ID> 如图所示:

输入 oh-my-posh version 以确认安装的 Oh My Posh版本号。 为确保拥有最新的更新,可以使用以下命令:winget upgrade oh-my-posh。如下图所示:

配置PowerShell 提示符主题

在 terminal 中使用下面的命令打开:code 命令是 vscode, 你也可以换成其他的命令: notepad $PROFILE

bash 复制代码
 code $PROFILE

这样我们打开默认的个人配置,并在配置文件中写入下面的内容,保存并退出:

csharp 复制代码
 [System.Console]::OutputEncoding=[System.Text.Encoding]::GetEncoding(65001) # 配置默认编码
 oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\atomic.omp.json" | Invoke-Expression # 配置oh-my-posh的theme

你可以修改atomic.omp.jsonoh-my-posh的主题文件,你可以在 Themes | Oh My Posh 这里找到自己喜欢的主题名称。配置完成后关闭 terminal 重新开发就可以看到新的主题了。

关于配置文件我们也可以手动打开,配置文件的路径:C:\Users\ylyang\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

如果你用的是 PowerShell那么配置文件 C:\Users\ylyang\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

如果看到路径错误,则你可能还没有 PowerShell的配置文件。 若要创建一个,请使用以下 PowerShell命令创建配置文件,然后尝试再次使用文本编辑器打开它。

bash 复制代码
 new-item -type file -path $profile -force

如果在尝试打开新的 PowerShell实例时收到脚本错误,则表明 PowerShell执行策略可能受到限制。 若要将 PowerShell执行策略设置为不受限制,则需以管理员身份启动 PowerShell,然后使用以下命令:

javascript 复制代码
 Set-ExecutionPolicy -ExecutionPolicy Unrestricted

安装缺少的文件夹或文件图标

Terminal-Icons 是一个 PowerShell 模块,它会添加在 Windows 终端中显示文件或文件夹时可能缺少的文件和文件夹图标,并基于名称或扩展名查找相应的图标。 它尝试将图标用于已知文件/文件夹,但如果找不到内容,则会回滚到通用文件或文件夹图标。

若要使用 PowerShell安装 Terminal-Icons,请使用以下命令:

sql 复制代码
 Install-Module -Name Terminal-Icons -Repository PSGallery

vscode 配置terminal

我们打开 vscode 的配置页面,并搜索 terminal

找到 windows exec 的配置项:

如果你安装了 pwsh.sh 也就是 powershell 7 以上的版本,那么可以跟我填的一样, 如果你并没有安装那么你可以填 powershell.exe, 可以相对路径,也可以绝对路径。

配置完成后,最好重启 vscode,就跟我一样了:

这里有个坑就是有可能报错:

vbnet 复制代码
 oh-my-posh: C:\Users\username\OneDrive\Documents\PowerShell\Microsoft.PowerShell_profile.ps1:19
 Line |
   19 |  oh-my-posh init pwsh --config 'C:\Users\username\OneDrive\Documents\Powe ...
      |  ~~~~~~~~~~
      | The term 'oh-my-posh' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the
      | name, or if a path was included, verify that the path is correct and try again

解决这个问题很简单:将 oh-my-posh.exe 添加到系统的环境变量中。

perl 复制代码
 🚀 where.exe oh-my-posh
 C:\Users\ylyang\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe
  D:/Developer 
 🚀

可以看到 C:\Users\ylyang\AppData\Local\Programs\oh-my-posh\bin\oh-my-posh.exe 的路径。


如果你的折腾的过程中遇到了相关的问题,可以在文章下面讨论,留言。🤪

相关推荐
Flying_Fish_roe14 分钟前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
不见长安见晨雾24 分钟前
Linux:vim编辑技巧
linux·编辑器·vim
sysin.org1 小时前
VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
windows·macos·esxi·bios·oem·网卡驱动·nvme驱动
神秘的土鸡1 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
shuxianshrng1 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
TravisBytes1 小时前
linux 系统是如何收发数据包
linux·运维·服务器
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑1 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
ice___Cpu3 小时前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端
z202305083 小时前
linux 之0号进程、1号进程、2号进程
linux·运维·服务器
狐心kitsune4 小时前
erlang学习:Linux常用命令1
linux·学习·erlang