このページの本文へ

前へ 1 2 次へ

Windows Info 第480回

PowerShellが使う色を変更する

2025年05月04日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

色指定ハッシュテーブルを作る

 たとえ1色だけの変更でも、コマンドラインの色指定をするには、ハッシュテーブルを作る必要がある。ただし、コマンドライン内で「@{……}」を使って直接指定することは可能だ。

 以下の表は、色指定の場合に使うハッシュテーブルのキーである。このそれぞれが構文解析されたコマンドラインの色分けに使われる。

PowerShellが使う色を変更する

 このキーを持つハッシュテーブルに色指定をするわけだが、色指定の方法が複数ある。1つはカラー深度の違いで、ターミナルでは色指定に16色カラー、8bitカラー、24bit RGBカラーの3つの方法がある。

 16色カラーは、基本となる8色に対して、輝度を落とした(または上げた)8色を文字色、背景色として使うもの。これに対して、8bitカラーは、256のインデックス値で色指定をする。

PowerShellが使う色を変更する

16色カラーは、文字色、背景色をそれぞれ16色で指定する。ほとんどの端末ソフトウェアが16色カラー指定を可能にしている

 24bit RGBカラーは、RGB三原色のそれぞれが8bit値を持つカラー指定。一般に16進数表現の整数値や「#」を頭につけたRGB値、RGB各色の値、3つ組などの指定方法がある。

 色を付ける対象は、文字色または背景色の2つ、また、文字には高輝度やイタリックといった文字属性を付加することも可能だ。VTエスケープシーケンスをサポートする端末ソフトウェアは、最低でも16色カラー指定が可能なものがほとんどだ。ただし文字属性に関しては、端末ソフトウェアの仕様に依存する。

 具体的な色指定の方法としては、「エスケープシーケンス文字列」「$PSStyleによる指定」「色名による指定」の大きく3種類がある。

PowerShellが使う色を変更する

 最も簡単なのが「色名による指定」で以下の表にある色の名前を使うことで文字色を指定できる。ただし、この方法では背景色を指定することができず、16色カラー以外のカラー深度も利用できない。しかし、簡易でわかりやすい方法だ。

PowerShellが使う色を変更する

 これに対して、「エスケープシーケンス文字列」による指定は、もっとも柔軟性が高く、16色カラー、8bitカラー、24bitカラーのすべてのカラー深度を利用できる。そのほか、文字属性の設定も可能だ。

 前述のように、複数のSGRエスケープシーケンスは、1つにまとめることが可能なので記述もコンパクトになる。ただし、コード部分は数値なので、ソフトウェアのドキュメントなどからコードの表を調べる必要がある。Windowsターミナルの場合、以下のURL(https://learn.microsoft.com/ja-jp/windows/console/console-virtual-terminal-sequences#text-formatting)にコードの表がある。

$PSStyleによる指定

 色名とエスケープシーケンスの間に位置するのが「$PSStyle」による色指定だ。$PSStyleには、さまざまな文字属性や色定義があり、プロパティやメソッドがエスケープシーケンスを出力できる。必要に応じてこれらを連結していくことで、文字色、背景色、文字属性を定義できる。

 $PSStyleには、プロパティ名で指定できる文字色、背景色、文字属性があり、さらに機能ごとに定義された色指定もある。基本的に、プロパティ、メソッドとも、文字列として対応するエスケープシーケンスを出力する。このため、出力を「+」記号で連結することで、複数の指定(たとえば、文字色と背景色)などを指定することが可能だ。

 また、RGB値からエスケープシーケンスを出力するメソッドもあるため、文字色、背景色を24bitカラーで指定することも可能だ。しかし、8bitカラーを出力する機能はなく、$PSStyleからは、8bitカラーによる色指定はできない。

 以下のリストは、色指定を実際にするコマンドを示すもの。

$ColorSet=@{
Command='DarkRed';
Comment="`e[48;5;40m";
ContinuationPrompt="`e[48;5;218m";
Default='DarkGreen';
Emphasis='Red';
Error='Yellow';
InlinePrediction='DarkYellow';
Keyword='DarkBlue';
ListPrediction="`e[48;5;196m";
ListPredictionSelected="`e[48;5;88m";
ListPredictionTooltip="`e[48;5;63m";
Member='DarkMagenta';
Number='DarkCyan';
Operator='DarkGray';
Parameter='Gray';
Selection='Blue';
String=$PSStyle.Foreground.FromRgb(0xFFFFFF)+$PSStyle.Background.FromRgb(0x0);
Type='Cyan';
Variable='White';
}
Set-PSReadLineOption -Colors $ColorSet

PowerShellが使う色を変更する

Set-PSReadLineOptionコマンドと予め定義したハッシュテーブルを組み合わせて、コマンドラインの色分けを自由に変更できる

 プロファイルなどから設定する場合、あとから修正が可能なように1回ハッシュテーブルを定義して、これを使って色指定をするのがいいだろう。

 なお、色指定をリセットする機能はないが、プロファイルを読み込まなければ色指定は変更されない。既定値とカスタマイズ指定を切り替えたいというのであれば、デフォルト値を設定したハッシュテーブルを作っておくといいだろう。

 コマンドラインウィンドウでは、暗い背景に明るい文字という組み合わせがよく使われるが、明るい背景も悪くない。色指定を変更できるのなら、背景を自由に切り替えることができる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,580
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
4
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
8
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
9
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
10
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン