Windowsのコマンドプロンプト/PowershellでANSIエスケープシーケンスを有効にする
はじめに
WindowsのコマンドプロンプトやPowershellを用いている場合、デフォルトではANSIエスケープシーケンスによる出力が正しく表示されません。Windows環境でANSIエスケープシーケンスを利用したい場合、例えばANSICON などの対応ターミナルをインストールする方法もありますが、ここではレジストリに変数を追記することで、デフォルトのコマンドプロンプトやPowershellでANSIエスケープシーケンスを有効にする方法を紹介します。
手順
大まかな手順は以下です。
- レジストリエディタを起動する
- コンピュータ¥HKEY_CURRENT_USER¥Console を選択
- 新規にDWORD(32ビット)の変数を作成する
- 変数名をVirtualTerminalLevel とし、値を1にする
- コマンドプロンプトかPowershell を起動する
レジストリエディタの起動
左下の検索窓にregedit と入力してレジストリエディタを起動します。 
変数の作成
コンピュータ¥HKEY_CURRENT_USER¥Console を選び、右クリックしてDWORD(32ビット)の変数を作成します。 
VirtualTerminalLevel を 1にする
新規に作成した変数名はVirtualTerminalLevel とします。名前を設定後、選択してダブルクリックし、値を1にします。16進数のままでよいです。


コマンドプロンプト/Powershell の起動
レジストリエディタを閉じて、コマンドプロンプト/Powershell を起動します。