唐突に windows で powerline が使いたくなり、powershell に入れようとしたら上手くいかなかった。
しかし cmder では上手く適用できたので、VSCode のターミナルとして使えるようになるまでの手順を残す。
Cmder のインストール
Cmder | Console Emulatorから Mini 版をダウンロードする。VSCode のターミナルとして使う為、Full 版の充実したコンソールは必要ないという判断。
ダウンロードしたら解凍して適当な場所に配置する。今回はC:\Program Files\cmder_mini
に配置した。
以下注意点が 2 点
C:\Program Files (x86)
に配置しようとしたら、\cmder_mini\vendor\lib\lib_base"" の使い方が誤っています。
という警告が出た。別の場所がいいのだろう。cmder_mini
ディレクトリをコピーして配置したら起動に管理者権限を要求されたが、移動して配置したらそのまま起動できた。移動して配置しよう。
初回起動でこのような画面が立ち上がる。
Powerline のインストール
AmrEldib/cmder-powerline-prompt: Custom prompt for Cmder on Windowsからリポジトリを zip でダウンロードしてくる。(clone でも良いよ)
そして以下のファイルをC:\Program Files\cmder_mini\config\
へコピーする。
- powerline_core.lua
- powerline_git.lua
- powerline_prompt.lua
再度起動すると、Powerline が適用されているのが分かる。
ただまだフォントが化けているが、気にせず進める。
Powerline-font のインストール
Powerline のフォントは色々あるようだが、今回はpowerline/fonts: Patched fonts for Powerline users.を使う。
これも zip でダウンロードし、PowerShell で.\install.ps1
を実行する。そうするとダウンロードしたフォントが全て Windows にインストールされる。時間が掛かるのでしばし待とう。
VSCode のターミナルを Cmder にする。
cmder のインストールディレクトリ(C:\Program Files\cmder_mini
)に以下の内容でvscode.bat
というバッチを作成する。
@echo off |
そして VSCode のsettings.json
に以下設定を追加する。
"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\cmd.exe", |
ターミナルのフォント設定
VSCode のsettings.json
で設定する。
"terminal.integrated.fontFamily": "Source Code Pro for Powerline" |
先にインストールしたフォントで**** Powerline
という名前のものならなんでもいいだろう。ただ Cmder のコンソールで表示した時と VSCode のターミナルで表示した時では、同じフォントでも表示がかなり違ったので注意(?)が必要。
イイ感じになってきた
カーソルの位置が一文字ずれる問題
プロンプトがλ
だと、入力の 1 文字目のカーソルと入力位置がずれる問題がある。なのでプロンプトを変えてしまえばいい。
powerline_core.lua
の 113 行目、plc_prompt_lambSymbol
を修正することで変えられる。
if not plc_prompt_lambSymbol then |
OK!
ちょっと追記:
プロンプトを >
に変更したら、node の REPL を実行した時にプロンプトが変わらず分かり辛かった。>
ではなく $
のほうがいいかも
環境
- Windows 10
- VSCode 1.25.1
- cmder_mini 1.3.6