20
14

PowerLineを久々試してみたら簡単にPowerShellが見やすくなった

Last updated at Posted at 2020-11-24

はじめに

まずPowershellにPowerLineを適用するとどうなるのかですが、

  • カレントフォルダ表示がLinux風になる
  • コマンド実行時刻が各行表示される
  • Gitの情報が常時みれる

過去失敗したけど、今すごく簡単にできたし、
見たい情報がすぐ見れる(=サボれる)のでオススメです。
fdsa.png

2024年現在、@ShortArrowStarshipを利用しており、PowerLineを使っていません。
PSReadLineもオススメです。

今日の午後

SSHの設定方法をMS Docsで読んでいたら、
隣のページにPowerLineが載っているではないですか!
以前やろうとして詰んだ記憶がよみがえります。

試しに再挑戦してみると、出来てしまいました。
「うわ、簡単にできた!これは記事にして広めねば!」。
結果として、意味不明な使命感に燃えております。

過去の失敗

  • 自機がLinuxやUnixのプログラマーは当たり前のように使っているらしい。
  • なんかキレイで見やすいらしい
  • PowerLineってのだとPowershellにも適用できるらしいぞ?!

こんな感じの理由から半年前くらいに挑戦したのですが、
全然上手く設定できず、何が間違いなのかも分からず終わりました。

適用前

Microsoft-Windows-Terminalで表示していますが、
これが通常のpwshですね。素っ気ないです。
error.png

適用後

とりあえず、「なんか、かっこいい」ってことだけは分かります。

Untitled.png
ccc.png

なにが書いてあるの

fdsa.png

この画像に書いてあることを日本語訳すると、

カレントユーザー名@ドメイン名  ホームディレクトリ/ドキュメント/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とかカッコいいですね。
image.png
自作テーマも使えるらしいです。

文字化けを直すためにCascadia Fontsを入れる

しかし、文字化けするので、Cascadia Fonts を入れます。この時、Cascadia .* PLのように、
末尾にPLが付いているものを必要とします。「Powerline Glyph」の有無が違うらしいです。

Cascadia Fonts | Github からダウンロードできます。
手動でインストールする場合には、unzipして、TTFファイルを右クリックしてインストールします。

面倒なので、Chocolateyコマンドを使い、一発インストールします。

choco install cascadiafonts

2024年現在、@ShortArrowNerdfontsのに収録のフォントの中からその時の気分で切り替えて使っています。

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を追記します。
image.png

公式

公式にコミットされている人たちに感謝です。
https://docs.microsoft.com/ja-jp/windows/terminal/tutorials/powerline-setup

2021/05/07追記

いつの間にかホームページっぽいものができています。Docusaurusで制作されているっぽいです。

Excelsior!

20
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
14