カラーをカスタマイズしてみよう

自分好みのターミナルアプリケーションにカスタマイズする場合、一番好みが表れやすい設定箇所はカラーではないかと思う。作業効率を上げるために見やすいカラーにしたり、目の疲れを感じにくいカラーにしたりと何かと重要な設定部分でもある。単純にそのカラーが好きで設定する方もいれば、LinuxやMacなどのほかの環境でターミナルアプリケーションを利用している場合は使い慣れた色に統一するユーザーもいるだろう。

Windows Terminalにもカラー設定が用意されている。Windows Terminalにおけるカラーの設定は、「カラースキーム」による設定と個別のカラー設定の2つのやり方がある。カラースキームはカラー設定を1つのスキームとして定義するもので、個別カラー設定は背景色や前景色など場所ごとに個別に設定するものだ。

個別にカラー設定する場合も、カラースキーム内でカラーを指定する場合のどちらの設定においても、色の指定にはhex(16進数)カラーコードを利用する。hexカラーコードによる設定は少々面倒だが、Visual Studio Codeを使用していれば、次のように実際に色を見ながら設定できるのでそう難しくはない。

Visual Studio Codeであればカラーコードの指定は簡単

カラースキームを変更

一番簡単なカラー設定は、標準で用意されているカラースキームを利用することだろう。Windows Terminalには標準で次のようなカラースキームが用意されている。

カラースキーム名 内容
Campbell 標準のスキーム
Campbell Powershell Powershell向けの標準スキーム
Vintage 昔のターミナルアプリケーション風
One Half Dark One Halfのダーク版
One Half Light One Halfのライト版
Solarized Dark Solarizedのダーク版
Solarized Light Solarizedのライト版

定義されているカラースキームにはそれぞれ名前が設定されている。「”schemes:{}”」内の項目「”name”」の値がそれだ。CampbellはWindows Console向けに定義された新たなカラースキームで、Windows Terminalでも採用している。また、One HalfSolarizedといったカラースキームも用意されている。

これらスキーム名を各ターミナルごとに用意されている「”profiles:{}”」内で指定すればカラースキームで定義されたカラー設定に変わる。「”profiles”{}”」でカラースキームを指定する項目名は「”colorScheme”」となっている。

実際にPowerShellにカラースキームを設定してみよう。PowerShellはデフォルトでは”colorScheme: Campbell Powershell”が設定されている。

次のようにPowerShellの「”profiles:{}”」内に「”colorSchme”」設定項目を用意し、「”Solarized Light”」に変更してみる。設定を編集して保存すると、PowerShellが即座に「”Solarized Light”」のスキームで定義されたカラーに切り替わるはずだ。

カラースキームを「Solarized Light」に設定

「Solarized Light」のPowershell

個別にカラー設定

個別にカラー設定を行う場合、新たにカラースキームを定義するか、「”profiles:{}”」に用意されているカラー設定項目を利用するかの2つのやり方がある。ここでは「”profiles:{}”」で指定できるカラー設定項目を紹介しよう。

Windows Terminalでは現状、背景色、前景色、文字列選択時の色やカーソルの色などが個別に設定できる。それぞれカラーを設定してみよう。まずは背景色だ。背景色の設定は”background”で指定できる。

背景色を黒に設定

背景色が黒のPowershell

次に前景色を変えてみよう。前景色は「”foreground”」で設定できる。

前景色を緑に設定

前景色が緑のPowershell

文字列選択時の色も変えることが可能だ。”selectionBackground”を追加してみよう。

文字列選択時の色を明るい赤に設定

文字列を選択した際に明るい赤が使われる

上記で挙げたカラー設定項目は、カラースキーム内でも設定ができるようになっている。では、「”profiles:{}”」内でカラースキームを定義してさらに個別のカラー設定を行った場合にどちらが有効になるかと言うと、個別のカラー設定が優先される。プロファイル内でカラースキームを設定したとしても、個別のカラー設定項目で色を設定している場合は、そちらが使われるようになっている。

カラースキームと個別のカラーを共に設定

カラースキームではなく個別のカラー設定が使われる

最後にカーソルのカラー設定について紹介しよう。背景色を変更するとカーソルが同系色で見えにくくなるかもしれない。Windows Terminalはカーソルのカラー設定も行えるようなっており、デフォルトは白となっている。例として、背景色が白の状態でカーソルの色を黒に変更してみよう。カーソル色の設定は「”cursorColor”」で行える。

カーソルカラーを黒に設定

カーソルの色が黒に

カラー設定で作業しやすい環境に

カラー設定について簡単に紹介したが、Windows Terminal側で設定できるカラー項目は執筆時時点では制限もある。例えば、コマンドプロンプトの場合は背景色のみ変更は可能で、それ以外の個別のカラー設定やカラースキームを設定しても反映されない。また、UbuntuなどのWSL環境も個別のカラー設定ではプロンプトの色などはシェルの設定に依存する。

全てのカラー設定がWindows Terminal側で設定できるわけではないが、必要最低限のカラー設定は十分行えるようになっている。カラーの設定は、より作業しやすい環境を手に入れる第一歩であり、カスタマイズしやすい項目でもある。今回の内容を参考に、自分に合ったカラー設定にカスタマイズしてみてもらいたい。

参考資料