Windows環境でRSpecなどの出力に色を付けるには
これから
ansiconをインストールする。
インストールは次のようにする。
レジストリを使用してでも簡単に使いたい場合
- cmd.exeを実行し、コピーしたフォルダにcdする。
- その後、次のコマンドを実行。
ansicon -i
実行後、cmd.exeが実行されるたびに自動的にansiconが実行されるようになる (cmd.exeのAutoRunレジストリエントリにansiconを設定してくれる)。
この状態で、普通にコマンドを実行すれば、出力に色がつく。例えば
C:\dir> rspec --color
ansiconをアンインストールしたい場合は次のようにする。
ansicon -u
これでレジストリから設定が消える。あとはインストールしたフォルダを消去する。
どうあってもレジストリを使いたくない場合
レジストリを使いたくない場合は次のようにする。
アンインストールに気をつける部分はなく、フォルダごと消去で問題ない。
これまで
win32consoleを使っていた。
なぜ?
色。テストの時は大事ですよね。視覚的に失敗がわかるのはありがたい。
でも、Windows環境下でRSpecを実行したら、色が妙なことになってた。調べてみると、「gem install win32console
すべし!」といろいろなサイトに書いてあったんだが……
今のRSpecではwin32consoleを読み込んでいない。
そのため、--color
オプションを付けてANSIカラーコードを出力しても、Windows環境では妙な文字が出力されるだけになる。
現在、RSpecやCucumberなど色出力を使うアプリケーションは、win32consoleを使わずansiconを利用する方向らしい (参照)。