唐突に 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