はじめに
まずPowershellにPowerLineを適用するとどうなるのかですが、
- カレントフォルダ表示がLinux風になる
- コマンド実行時刻が各行表示される
- Gitの情報が常時みれる
過去失敗したけど、今すごく簡単にできたし、
見たい情報がすぐ見れる(=サボれる)のでオススメです。
2024年現在、@ShortArrow はStarshipを利用しており、PowerLineを使っていません。
PSReadLineもオススメです。
今日の午後
SSHの設定方法をMS Docsで読んでいたら、
隣のページにPowerLineが載っているではないですか!
以前やろうとして詰んだ記憶がよみがえります。
試しに再挑戦してみると、出来てしまいました。
「うわ、簡単にできた!これは記事にして広めねば!」。
結果として、意味不明な使命感に燃えております。
過去の失敗
- 自機がLinuxやUnixのプログラマーは当たり前のように使っているらしい。
- なんかキレイで見やすいらしい
- PowerLineってのだとPowershellにも適用できるらしいぞ?!
こんな感じの理由から半年前くらいに挑戦したのですが、
全然上手く設定できず、何が間違いなのかも分からず終わりました。
適用前
Microsoft-Windows-Terminalで表示していますが、
これが通常のpwshですね。素っ気ないです。
適用後
とりあえず、「なんか、かっこいい」ってことだけは分かります。
なにが書いてあるの
この画像に書いてあることを日本語訳すると、
カレントユーザー名@ドメイン名 ホームディレクトリ/ドキュメント/Github用のフォルダ/Githubリポジトリ/testモジュール格納フォルダ Git絵文字 ブランチ名 ↑未Push変更総数 +ステージ前の追加ファイル数 ~ステージ前の変更ファイル数 -ステージ前の削除ファイル数 | +ステージ前の追加ファイル数 ~ステージ前の変更ファイル数 -ステージ中の削除ファイル数 [当行表示時刻の時:当行表示時刻の分]
長すぎて読みにくいので改行すると、こうなります。
カレントユーザー名@ドメイン名 >
ホームディレクトリ記号/
ドキュメントフォルダ/
Github用のフォルダ/
Githubリポジトリ/
testモジュール格納フォルダ >
Git絵文字 ブランチ名
↑未Push変更総数
+ステージ前の追加ファイル数
~ステージ前の変更ファイル数
-ステージ前の削除ファイル数 |
+ステージ前の追加ファイル数
~ステージ前の変更ファイル数
-ステージ中の削除ファイル数 ! >
[当行表示時刻の時:当行表示時刻の分]
改めて、コンパクトに魅せることの重要性を思い知らされます。UI/UX!
どうやってやるの
Gitを入れておく
やる前に、git
コマンドが使えるようにPath
環境変数を設定しておいてください。
PS Gallery からモジュールをインストール
おもむろに Powershell 7 を開いて、下記2行を実行します。
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Powershell 7 の場合のみ下記1行を実行します。 Powershell 5.1 以前の Powershell の場合はいりません。
Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck
※PSGalleryを信用しますか?とか聞かれます。まあ、信用してあげてください。
Windows-Terminal で使う
下記コマンドで、カレントユーザーのPowershellプロファイルをメモ帳で開きます。
notepad $PROFILE
その中に、下記コマンドを書き込みます。
Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt Paradox
ここまでで、一応使えるようになっています。
VscodeやWindowsTerminalなどで、このプロファイルを開始時に読み込むため、
上記でimport-module
したモジュールが読み込まれます。
テーマを設定できる
また、上記プロファイルでは、Set-Themeでテーマ設定しています。
標準で用意されたテーマを選択することが出来ます。
fishとか、Operatorとかカッコいいですね。
自作テーマも使えるらしいです。
文字化けを直すためにCascadia Fontsを入れる
しかし、文字化けするので、Cascadia Fonts を入れます。この時、Cascadia .* PL
のように、
末尾にPLが付いているものを必要とします。「Powerline Glyph」の有無が違うらしいです。
Cascadia Fonts | Github からダウンロードできます。
手動でインストールする場合には、unzipして、TTFファイルを右クリックしてインストールします。
面倒なので、Chocolateyコマンドを使い、一発インストールします。
choco install cascadiafonts
2024年現在、@ShortArrow はNerdfontsのに収録のフォントの中からその時の気分で切り替えて使っています。
Windows-Terminalで文字化けを直す
Fontを入れたら、"fontFace": "Cascadia Code PL",
という文字列をWindows-Terminalの設定ファイルに書き込みます。
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"fontFace": "Cascadia Code PL",
"hidden": false
},
こんな感じで、末尾のカンマ,
に気を付けて記入しましょう。
間違えるとエラーメッセージがでます。
Vscodeで文字化けを直す
Win:「Ctrl」+「,」、Mac:「⌘」+「,」で設定画面を出し、Font Family の先頭にcascadia code
を追記します。
公式
公式にコミットされている人たちに感謝です。
https://docs.microsoft.com/ja-jp/windows/terminal/tutorials/powerline-setup
2021/05/07追記
いつの間にかホームページっぽいものができています。Docusaurusで制作されているっぽいです。
Excelsior!