📚

かっこいいWindowsTerminalの作り方

2023/02/15に公開約2,200字

エンジニアは誰しもターミナル環境でカッコをつけたいものです。美しいターミナルを使うとモチベーションが上がり、できるエンジニアになった気になります。

今回は Windows Terminal でカッコいい設定に方法をここに記す。

必要ツール導入

手順に従い、パッケージ導入管理ツール [Winget] をインストールします。

Windows Terminal のインストール(Microsoft Store からインストールしても OK)
winget install Microsoft.WindowsTerminal

Powershell Core のインストール

winget install Microsoft.PowerShell

Oh My Posh のインストール

winget install JanDeDobbeleer.OhMyPosh
Install-Module oh-my-posh -Scope CurrentUser -Force
Import-Module oh-my-posh

Terminal-Icons のインストール

Install-Module -Name Terminal-Icons -Repository PSGallery -Force

Powershell のさらに便利になる拡張機能をインストール

Install-Module PSReadLine -AllowPrerelease -Force

美しいフォント Nerd Fonts を導入します

Invoke-WebRequest -Uri "[https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip](https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip)" -OutFile CascadiaCode.zip
$tmpFolder = New-TemporaryFile | %{ rm $*; mkdir $* }
Expand-Archive -LiteralPath CascadiaCode.zip -DestinationPath $tmpFolder
Remove-Item -Path .\CascadiaCode.zip
Install-Module -Name PSWinGlue -Force
Install-Font -Scope User -Path $tmpFolder

上記すべて完了したら、Windows Terminal のフォントを CaskaydiaCove Nerd Font Mono に設定します。

Powershell プロファイル設定

Oh my posh のテーマをダウンロードします。もちろん、自分で好きなテーマを選んでも OK です。


Invoke-WebRequest -Uri "[https://gist.githubusercontent.com/doggy8088/17e87b9be99639ffb52bbe0709f46b93/raw/a1631aeac5638424a20bef54c9f0abc045b9e611/ohmyposhv3-will.omp.json](https://gist.githubusercontent.com/doggy8088/17e87b9be99639ffb52bbe0709f46b93/raw/a1631aeac5638424a20bef54c9f0abc045b9e611/ohmyposhv3-will.omp.json)" -OutFile "~/.ohmyposhv3-will.omp.json"

PSReadLine の補完機能を設定して、利便性を高めましょう。
自分の $PROFILE に以下の設定内容を追加します。さきほどダウンロードしたテーマもここで設定します。
$PROFILE の場所は echo $PROFILE で確認できます。

  • [Microsoft.PowerShell_profile.ps1]

以下のコマンドで設定内容を反映します。
. $PROFILE

最後に

設定前と設定後の Terminal を見比べてみると違いが一目瞭然です。
これでターミナルを開くたび間違いなくテンションが上がります。

参考

https://blog.miniasp.com/post/2021/11/24/PowerShell-prompt-with-Oh-My-Posh-and-Windows-Terminal

Discussion

ログインするとコメントできます