前回Windows Terminalをインストールしました。そのままの状態だと毎日触るのは辛い環境だったのでフォントとテーマを導入して改善しました。 先日、WindowsでClaspを実行するためにNode.js環境を整えました。 ClaspはCUIで操作するのでコマンドプロンプトを使って実行するのですが、なかなかに使いにくい。 Windowsはこ ... 続きを見る
詳細はWindows Terminalでターミナル環境を整えるをご参照ください。
Windows Terminalでターミナル環境を整える
今回はPowerlineを使える環境を構築し、更に今風なターミナル環境を構築したいと思います。
事前作業
いくつかの事前作業が必要になります。
特にターミナル環境でGit管理下のディレクトリに入ったときに、プロンプト部分にブランチやファイル状態がプロンプトに表示されるとわかりやすいのでGitもインストールします。
PowerShell 7をインストールする
まず最初に、今回PowerShellにいくつかのモジュールをインストールします。 最近、WindowsでClaspを実行するためにNode.jsの環境を構築しました。 今までは昔から何も変わらないコマンドプロンプトを使ってコマンドを実行してきましたが、さすがに辛くなったのでプレビュ ... 続きを見る
Windows10を使っていてPowerShell関連のアップデートを行っていない場合はPowerShell 5系がインストールされております。
最新はPowerShell 7なので、PowerShell 7をインストールします。
インストール方法はPowerShell7をインストールするをご参照ください。
PowerShell7をインストールする
なお標準のPowerShellでもインストール可能だと思いますが、以下の手順で一部ことなる部分があります。
Gitをインストールする
Git For Windowsをインストールします。
自分の環境では既にインストール済みだったのでキャプチャとかはないのですが、適当にインストールした記憶があります。
Powerlineを使うためのモジュールをインストールする
いよいよターミナル環境を整えていきます。
PowerShellはOS標準のものではなく、新しくインストールしたPowerShell 7を使います。
ターミナル自体に必須ではないのですが、ターミナルをより便利にするためにモジュールをインストールします。
特にターミナルでGit管理のディレクトリに入ったときにブランチやファイルの状態がターミナル上で確認できると非常に便利なのでGitを使うことが多い場合は入れておくと良いと思います。
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
さらにPSReadline
のインストールが必要なようですがPowerShell7からは標準でバンドルされているみたいなので別途インストールは不要です。
ポイント
PowerShell6以下を使う場合は別途インストールが必要になります。
続いてPowerShellの起動時にモジュールを読み込むように起動時に読み込まれるファイル(プロファイルファイル)に記載します。
早い話がbash_profile
のようなものだと思います。
以下のコマンドを実行するとエディタが起動します。
notepad $PROFILE
ポイント
プロファイルファイルは初期状態では存在しないので、以下のコマンド実行時に新しく作成しますかと聞かれる場合があります。
この場合は、はいを選択してファイルを作成してください。
コマンドを実行するとエディタが起動するので以下の内容を入力して保存します。
Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt Paradox
Set-Themeだと以下のようなエラーが発生する場合があります。
The term 'Set-Theme' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
2021年の3月くらいにテーマ変更するコマンドがリネームされているとのことで、Set-Theme
でうまくいかない場合はSet-PoshPrompt
と変更する必要があります。
かなりいい感じになりました。
1行目はホームディレクトリの時です。
二行目はGit管理しているディレクトリの時です。
これがWindowsのターミナルなのかという感じです。モダンな感じがしますよね。
テーマのDraculaもいい感じです。
ですが残念なことにプロンプト部分が文字化けしてます。
先程インストールしたoh-my-posh
のParadoxテーマを指定しているのですが、ここで指定されているPowerlineの文字が文字化けしているものと思われます。
これを回避するためにはPowerlineに対応したフォントをインストールする必要があります。
Powerlineに対応したフォントをインストールする
続いてPowerlineに対応したフォントをインストールします。
自分が愛用しているRictyは標準ではPowerlineに対応しておらず、また有志の方が作成されたPowerlineに対応したRictyもあるのですが、今回の環境では文字化けが解消しませんでした。
このあたりは、落ち着いたらもう少し調査してみたいと思います。
今回は白源 (はくげん/HackGen)を使うことにしました。
フォントをインストールする
GitHubのリリースページからファイルをダウンロードします。
オリジナルのRictyもそうですがフォントは自分でビルドしなければならないこともあるので、ダウンロードできるライセンスなのはありがたいです。
ダウンロードしたら適当に展開します。
色々フォントの種類があり作者様がQiitaで解説してくれています。
フォントファミリーの種類
今回はHackGen Console
を使うことにします。
展開したファイルの中から以下の2ファイルをインストールします。
・HackGenConsole-Bold-forPowerline.ttf
・HackGenConsole-Regular-forPowerline.ttf
ポイント
フォントのインストールはフォントを右クリックして表示されるメニューからインストールをクリックすることでインストールできます。
Windows Terminalにフォントの設定をする
最後にWindows Terminalの設定を行います。
またWindows Terminalの設定ファイルを開きます。
設定ファイルは%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json
です。
もしかしたら8wekyb3d8bbweという部分は環境によって異なるかもしれません。
profiles.defaults.fontFace
にHackGen Console for Powerline
を指定します。
抜粋ですが以下のような感じになります。
{
"$schema": "https://aka.ms/terminal-profiles-schema",
// 省略
"profiles":
{
"defaults":
{
"fontFace": "HackGen Console for Powerline",
"colorScheme" : "Dracula"
}
// 省略
}
}
設定変更後のターミナル
これでWindows TerminalからPowerShell7を開いてみると・・・。
文字化けが解消されて、すごいいい感じになりました。
フォントも見やすいですね。
疑っている人もいるかもしれませんが、これWindowsのターミナルですよ。
自分は何もしていないのですが、それでも少し感動してしまいました。
まとめ
Windowsはターミナル環境が弱いと言われていましたが、それも今は昔・・・とまでは言えませんが、それでも数年前とは比べ物にならないくらい良くなってきているのではないでしょうか。
cmd.exeからgitのコマンドを操作するのは厳しいものがあったのですが、今回導入したWindows Terminalからなら実行できそうですね。
2020年4月中旬現在、Windows Terminalはプレビュー版ということですが正式リリースが待ち遠しいです。
2020年5月に予定されているMay 2020 Updateに含まれるのでしょうか。そうなればWSL2と同時に楽しみですね。
参考リンク
【文字幅 半角3:全角5 も追加】Ricty を神フォントだと崇める僕が、フリーライセンスのプログラミングフォント「白源」を作った話