Windows Terminal 配置oh-my-posh主題
- 2019 年 11 月 13 日
- 筆記
撰寫本文日期是在2019年11月12日,Windows系統版本是1903,Windows Terminal 與剛開始出預覽版時也有了很多改進。
Windows Terminal需要在MS store裡面下載
預覽圖

Fira code字體
powershell對字體要求比較嚴格,因此並不是所有的等寬字體都可以直接在裡面使用。
而Fira code 字體我個人覺得是Windows上很好看的一個英文渲染字體。
傳統方法安裝時下載字體文件,右鍵安裝,但這裡我們 也可以 選擇chocolatey來安裝Fira code。
並且也後續步驟也需要用chocolatey安裝一些東西。
以管理員許可權打開powershell,輸入
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

然後安裝Fira Code 字體:
choco install firacode

會提示是否運行腳本,輸入A即可。
然後在profiles.json
(設置文件)文件裡面設置該字體

如果你也像我一樣打開.json文件默認是用記事本打開的話:

可以另存為,然後複製其路徑,然後在資源管理器裡面有其他軟體打開:

安裝oh-my-posh主題
Mac/Linux下有oh-my-zsh主題,終於,Windows Terminal的PowerShell也有oh-my-posh主題了。
oh-my-posh
是一個強大的powerline
主題,類似於 Linux
下的 oh-my-zsh
.
相應的github
官方項目中其實有具體的操作步驟,見:
JanDeDobbeleer/oh-my-posh: A prompt theming engine for Powershell running in ConEmu
https://github.com/JanDeDobbeleer/oh-my-posh
查看策略組的執行許可權
首先,我們需要查看當前的許可權,以便後續正常安裝,以管理員許可權打開的powershell
中這麼執行指令:
Get-ExecutionPolicy -List

此時,我們需要輸入以下命令,將CurrentUser的ExecutionPolicy(執行許可權)從原來的Undefined更改成RemoteSigned,需要輸入命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

按提示輸入
Y
即可。
使用choco 安裝終端模擬器 – ConEmu
以下所有步驟基本都在管理員下的Powershell執行命令,請牢記這點。
推薦你使用
ConEmu
在Windows上獲得出色的終端體驗。 眾所周知的是Windows下的命令行體驗不是很好,而ConEmu可以說是彌補這些體驗的,也可以說是它模擬了Linux Bash下的一些命令,以此可以在Windows上運行某些命令。
choco install ConEmu
完整安裝過程截圖:

接下來,你需要使用PowerShell Gallery 來安裝 oh-my-posh.
Install-Module posh-git -Scope CurrentUser Install-Module oh-my-posh -Scope CurrentUser

都安裝好之後,還需要更新配置文件$PROFILE
,類似於Linux Bash的.bashrc, 這是全局修改,而不是臨時的設置喔~
輸入:
$PROFILE

繼續輸入:
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force } notepad $PROFILE
在打開的文件中添加:
Import-Module posh-git Import-Module oh-my-posh Set-Theme Honukai

保存後關閉記事本。 其中
Set-Theme Honukai
是設置主題的,其他可選主題有Agnoster
、Avit
、Darkblood
、Fish
、Honukai
、Paradox
、Sorin
、tehrob
,可自行選擇。
最後更新配置:
C:UsersKuanDocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
上面的Kuan是你的電腦的用戶名,不要照抄。也即前面運行
$PROFILE
命令後的結果。 重啟powershell後會發現已經生效。

優化 PowerShell 的配色
接下來,我們可以使用微軟提供的一個方便更改默認終端配色的工具 colortool
來優化powershell中的顏色,下載地址:
https://github.com/microsoft/terminal/releases/download/1904.29002/ColorTool.zip
這個工具也支援讀取 iTerm 主題文件。
- 首先,使用上面的地址將 ColorTool 下載至本地,並解壓
- 打開
Windows terminal
的Powershell Tab
ColorTool 使用非常簡單,該工具自帶了幾種配色主題,我們可以利用下面這個命令進行查看:
.ColorTool.exe -s

其中前面列出的幾個 .ini
和 .itermcolors
就是主題配置文件,我們可以直接通過下面這個命令設置主題:
# 臨時查看 colortool <主題名稱> # 定義默認值 colortool -d <主題名稱>
比如我們希望將主題配色更換為 OneHalfDark.itermcolors
,只需要輸入下面這個命令就可以更換並預覽更新:
.ColorTool.exe solarized_light.itermcolors