いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Windows Terminal で Powerline を使う

概要

devlights.hatenablog.com

でメモした通り、安定版がリリースされたので、ついでに Powerline の設定方法もメモメモ。

周りを見ると、以外に設定せずにそのまま使っている人が多かったので。。まあ、好みの問題ですが、個人的にはPowerlineの方が見た目が好きです。

設定の方法は以下に説明されています。

docs.microsoft.com

が、一応ここにもメモです。

以下を順に実行していったら終わりです。先に git だけインストールしておきましょう。

先にPowerline用のフォントをダウンロード。以下からダウンロード出来ます。

github.com

このリリースファイルから、Cascadia Code PL フォントをインストールしておきましょう。

私の環境は、PowerShell v7.0.1 がインストールされている状態でしたので、最後に PSReadLine もインストール。

$ Install-Module posh-git -Scope CurrentUser -Force
$ Install-Module oh-my-posh -Scope CurrentUser -Force
$ Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck

上記実行後に最後に Powershell のプロファイルの設定をします。

$ code $PROFILE

でエディタ開いたら

Import-Module posh-git
Import-Module oh-my-posh

if ($host.Name -eq 'ConsoleHost')
{
    # PSReadLineモジュールを有効に
    Import-Module PSReadLine
    # キーバインドをEmacsスタイル(Linuxのシェルのデフォルトと同じ) に
    Set-PSReadLineOption -EditMode Emacs
    # 予測Intellisenseを有効に
    Set-PSReadLineOption -PredictionSource History
    # Ctrl+i で Linux のシェルのように補完が出来るように
    Set-PSReadLineKeyHandler -Key Ctrl+i -Function Complete
    # Ctrl+f で 1単語すすめるように(予測Intellisenseを確定させる際に使える)
    Set-PSReadLineKeyHandler -Key Ctrl+f -Function ForwardWord
}

Set-PoshPrompt -Theme 好きなテーマ名(ex: ys)

[System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
[System.Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")

$env:LESSCHARSET = "utf-8"

テーマの名前は以下から

github.com

最後にWindows Terminal を再起動したら、Powerline状態になってます。

追記

Set-Theme の部分で、エラーが発生する場合は、以下が参考になります。

blog.mamansoft.net

stackoverflow.com

Set-Theme というコマンドレットは、oh-my-poshの V2 で存在していたもので、V3にでは存在しなくなっています。

V3では、Set-PoshPrompt -Theme XXXX という記載になります。


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com