🍞

【windows】Powershellの見た目を整える

2023/09/11に公開

最初に

  • windows でプログラム開発をしている方向けに powershell の見た目と git や vim などのコマンドを使いやすくするための設定方法を記述します。
  • windows11 での設定の流れを記載していますが windows10 でも windows terminal の部分を除けばやることはほぼ一緒です。
  • 導入するパッケージ類は以下です。
    ・powershell core
    ・oh-my-posh
    ・Meslo Nerd Font
    ・posh-git
    ・vim

準備

  1. windows terminal のインストール
    ・windows11 の方は最初から入っていますので実施する必要はありません。
    ・windowes10 の方も入れなくても問題ありませんが入れたい方は以下のどちらかの方法で入れてください。
    ・方法1:Microsoft store で windows terminal を検索してダウンロード

    ・方法2:コマンドプロンプトや windows powershell を開いてい以下コマンドを入力してインストール
winget install -e --id Microsoft.WindowsTerminal
  1. powershell core のインストール
    ・powershell にはwindows powershell と powershell core の2種類存在していて、簡潔に言うと windows powershell は windows に付属している powershell のことで、powershell core はマルチプラットフォームに対応した OSS のpowershell です。
    ・今回はこの powershell core をインストールします。インストール方法はこちらも Mifrosoft store か winget のどちらかでインストールします。どちらの方法でインストールしても構いません。
    ・方法1:Microsoft store の場合は microsoft store を開き、powershell を検索し入手。

    ・方法2:winget の場合は windows powershell を開いて以下コマンドを入力してインストール。
winget install --id Microsoft.Powershell --source winget
  1. oh-my-posh のインストール
    公式サイトの手順に従ってインストールします。

    ・powershell core を開き以下のコマンドを入力(winget が使える方は winget でいいと思います)
# winget の場合
winget install JanDeDobbeleer.OhMyPosh -s winget

# scoop の場合
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

# manual の場合
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))

・powershell profile の作成と編集をします。
・powershell core を開き、以下を入力

# 最初の code の部分はエディタコマンドです。vim なり notepad なり好きなエディタで編集してください。
code $PROFILE

# 出てきた profile に以下を記載
oh-my-posh init pwsh | Invoke-Expression

・作業後は以下のような感じ

  1. Meslo Nerd Font のインストールとフォントの反映
    ・powershell core を立ち上げなおすと文字化けしていると思いますので、oh-my-posh で使用するフォントを以下のコマンドでインストールします。
oh-my-posh font install

# font を選択するような指示がでるので Meslo を選択
Select font

  Lilex
> Meslo
  Monofur
  Monoid
  Mononoki
  MPlus
  NerdFontsSymbolsOnly
  Noto

・下図のように windows terminal の設定を開きます(windows terminal を使っていない人はpowershell core のタイトルバーのあたりで右クリックして設定を開いてください)。

・設定画面が開けたら左サイドバーから powershell を選択し、外観を開いてください。

・外観を開くとフォントフェイスをところからフォントを選択できるようになっているので、MesloLGS Nerd Font などの Meslo 系のフォントを選択してください。

・powershell core を立ち上げなおすと文字化けがなおっているはずです。

  1. oh-my-posh のテーマの選択
    公式サイトにテーマサンプルがあるので、好みのテーマを探してください。
    ・好みのテーマを反映するため powershell profile を編集します。再度以下のコマンドでプロフィールの編集画面を開いてください。
# code の部分は好きなエディタコマンドに置き換えてください
code $PROFILE

・oh-my-posh init pwsh ~~ の部分に追記します。(以下はcobalt2を使用する場合)

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/cobalt2.omp.json" | Invoke-Expression

・ここで少しだけ詳細を述べますが、oh-my-poshで利用するテーマファイルは --config 以降に記載されているテーマファイルを読み込みます。つまり上記の場合は$env:POSH_THEMES_PATH/cobalt2.omp.jsonというファイルを読み込んでいることになります。
・そのため微妙に見た目を変えたい場合はこのファイルを編集すればOKです。
・ファイルが置かれている$env:POSH_THEMES_PATHの場所はii $env:POSH_THEMES_PATH で開くことができます。

  1. git command の tab 補完を有効化する。
    ・posh-git を以下コマンドでインストールします。
Install-Module posh-git -Scope CurrentUser -Force

・インストールしたら再度 powershell profile を以下のように編集します。

# profile を開く
code $PROFILE

# 以下を追記
Import-Module posh-git

・powershell core を立ち上げなおすと git command の tab 補完が聞くようになっているはずです。

  1. vim をインストールして vim command を powershell 上で使えるようにする。
    ・ここからは必要な人のみ実施してください。
    ・vim を以下コマンドでインストールします。
winget install -e --id vim.vim

・インストールが完了するとC:\Program FilesC:\Program Files (x86) のどちらかに Vim というフォルダができているはずです。(私の環境ではC:\Program Filesです)
・vim.exe が格納されている場所までのパスをコピーし、powershell profie に以下のように記載します。

set-alias vi 'C:\Program Files\Vim\vim90\vim.exe'
set-alias vim 'C:\Program Files\Vim\vim90\vim.exe'

・最終的な powershell profile は以下のようになります。

  1. vscode のターミナルの文字化けをなおす。
    ・vscode を使っている人は vscode にインテグレーションされたターミナルが文字化けした状態になっていると思います。(下図のような感じ)

    ・vscode を開き歯車マークか control + , で設定を開き、右上の settings.json のアイコンをクリックし開きます。

    ・powershell のフォントフェイスに設定したフォントをsettings.json に以下のように追記し保存します。
    "editor.fontFamily": "MesloLGS Nerd Font"

以上。

Discussion