このページの本文へ

前へ 1 2 次へ

Windows Info 第221回

Windows 10の新コンソール、Windows Terminalが完成直前のv0.11に

2020年04月26日 10時00分更新

文● 塩田紳二 編集● ASCII

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

 4月22日にWindows Terminal v0.11が公開された。今年になって、1月と2月にベータ版、3月にはv0.10としてRC(Release Candidate。製品候補)版となり、現在の予定では、5月にv1.0が登場する予定だ。v0.11は、その直前のバージョンにあたり、新機能は少ないが、これまでに追加されてきた機能の整理(特に設定ファイル関係)がなされ、多数のバグFixもある。

 そろそろ完成も近く、仕様もこのまま固まりそうなので、今回は、Windows Terminalについての情報を整理してみる。

v0.11では、国際化も進み、メニューなどに日本語が表示されるようになった。

そもそもWindows Terminalとは?

 すでに本連載では何回も紹介してきたが、初めて読む方のために、Windows Terminalをあらためて解説しておく。Windows Terminalとは、Windowsのコンソールウィンドウ(conhost.exe)に代わる、あたらしいコンソールウィンドウアプリケーションだ。

 これまでのWindowsでは、MS-DOS環境を模したconhost.exeを、すべてのコマンドラインアプリケーション用に利用していた。というか、Windows向けにコンソールアプリケーションを作れば、デフォルトではconhost.exeの中で動作するようになる。これは、Windows標準のコマンドラインインタープリターであるcmd.exeやPowerShell.exeだけでなく、さまざまな言語システムでも同様だった。

 しかし、conhost.exeは、MS-DOSの画面を手本とし、それに国際化などを追加してWindowsの進化に対応してきたため、問題も少なくない。たとえば表示文字セットは、もともとはASCIIコードのような1バイト文字セットを想定していて、ここに日本語などの複数バイトを使う文字コードを入れるために、16bit文字コードなどを扱うように改良されている。このために制限もある。わかりやすいものとしては絵文字を表示できないという点だ。さらにUTF-8が標準となるLinuxアプリケーションが動作するWSLの登場により、問題は複雑になってきた。

 マイクロソフトはconhost.exeの改良を進めてきたが、ついにそれを断念したのか、Windows Terminalというconhost.exeを代用するオープンソースプロジェクトを開始した。ただし、conhost.exeは、互換性のため現状維持したままWindowsには残り続けるようだ。

 Windows Terminalは、高性能なマルチタブ方式のコンソールウィンドウアプリケーションとして開発された。開発やシステム管理などで多数のコンソールウィンドウをタブというかたちで統合し、さらにタブ内をPaneで分割して利用することも可能だ。また、専用のCascadiaフォントは、開発者向けにプログラミング言語の記号をきれいに表示できる「プログラミングリガチャー」の機能を持つ。

Windows Terminal使いこなしのポイントは設定

 Windows Terminalは、設定をJSONファイルでする。このあたりが、従来のWindowsアプリケーションと大きく違うところだ。JSONは、元々JavaScript用に作られたテキスト型式のオブジェクトデータ表現形式だ。複雑なオブジェクトデータを表現できるものの、ルールが簡単でXMLほど面倒ではないし、CSVのように同一構造のレコードの並びに縛られるわけでもない。

 Windows Terminalでメニューから設定を選ぶと、JSON設定ファイルが出力される。もし、JSONファイル(拡張子が.json)に関連付けがあれば、該当のアプリケーションが起動するが、関連付けがない場合には、テキストファイルなのでメモ帳が開く。

 JSONには、JSONスキーマと呼ばれる仕様があり、これを解釈できるJSONエディターがあれば、編集時に補完入力や簡易文法チェックなどが可能になる。手軽に入手できるJSONエディターとしては、マイクロソフトのVS Code(ソフトウェア開発向けのテキストエディタ)がある。このあたりについては以前に解説した(「さらに開発が進む新コンソール「Windows Terminal」」)。

 JSONエディターやメモ帳でsettings.jsonファイルを編集したあと保存するとWindows Terminalはこれを自動的に読み込んで設定を完了させる。このときにエラーがあれば、ダイアログで通知される。

 なお、Windows Terminalは、設定項目にデフォルト値がある。Windows Terminalのメニューにある「設定」をAltキーを押しながら選択すると、settings.json同様にdefault.jsonというファイルが出力される。基本的な表記方法はどちらも同じだが、default.jsonは編集してもWindows Terminalはこれを無視する。なので、設定は必ずsettings.json側で行う。

 ただし、default.jsonにある記述と同じものをsettings.jsonで繰り返す必要はない。settings.jsonに記述するのは、default.jsonとの差分だけでよい。

 Windows Terminalのjsonファイルは、下の図のような構造になっている。

Windows Terminalはjsonファイルでこのような構造をしている。基本的にはdefault.jsonとsettings.jsonは構造は同じだが、settings.jsonは、default.jsonに対しての変更分だけを記述し、記述しない設定項目はdefault.jsonの設定が有効になる

 jsonファイル内は大きく4つのセクション「globals」「profiles」「schemes」「keybindings」に分かれている。このうち、「globals」「schemes」(カラー設定スキーム)と「keybindings」(キー割り当て)は、それぞれ専用の領域でその中で設定するものは限定されている。

 しかし、profilesセクションに指定可能な設定項目は、profilesセクション中のdefault領域もしくは、profile領域で設定が可能で、さらに一部の設定項目は、コマンドラインの起動オプションやキー割り当てでも設定ができる。こうした複数の設定には、優先順位が付けられており、それに従って最終的に有効な設定が決定される。このあたりをまとめたのが下の表である。

 profileは、Windows Terminalのタブで起動される「シェル」に関連する指定だ。cmd.exeやpowershell.exe、あるいはWSLのbashなどがタブ内で起動するプログラムとして指定でき、そのときのターミナル設定(たとえば、背景色や背景画像など)をprofile設定で指定できる。profileは複数設定が可能で、メニューやコマンドライン、あるいはキー割り当てでこれを指定してタブやペイン(タブ内を分割した表示領域)を開くことができる。

 「schemes」は、色指定をグループ化したもの。Windows Terminalでは、最大16色を文字や背景の色として使い分けることができるが、こうした設定を個別に設定するのは面倒なので、schemeとしてまとめて設定しておき、profile側ではschemeを指定することで利用する色をまとめて設定する。schemeは、以下の表のような構造になっている。なお、標準のschemeは、すべてdefualt.jsonで定義されている。

 これに対して「keybindings」は、キー割り当てをするもの。Windows Terminalのようなコンソールでは、テキストのコピーやペースト、画面スクロールなどはすべてキーで行う。また、タブを新規に開いたり、タブをペインに分割するといった操作もすべてキーで行う。keybindingsは、そのキー割り当てを行うものだ。ただし、このキー割り当てはすべてのprofileで共通である。キー割り当てに関しては、v0.11では、下の表のようになっている。

 同じものをキー名で並べ直したのが、以下の表だ。基本的には、default.jsonでキー割り当てが定義されており、これを変更したい場合には、settings.jsonのkeybindingsセクションを使って割り当てを変更する。

前へ 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,680
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,890
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 ホワイト
¥740
4
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
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,677
7
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040
8
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
9
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥844
10
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥3,147

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

デジタル用語辞典

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