本稿執筆時点のWindows Terminalの最新版はWindows Terminal 1.5だ。Windows Terminal 1.6はプレビュー版の段階にあり、次のリリースで1.6が最新の安定版となる。このバージョンには重要な変更が加えられているので、今回取り上げておきたい。

Windows TerminalはMicrosoftが開発を主導するターミナルアプリケーションだ。PowerShellが動作するターミナルとしてオフィシャルのポジションにあり、今後、WindowsでLinuxを使う場合のデファクトスタンダードになっていく可能性が高い。

最初は必要最低限の機能だけが実装された状態だったが、その後徐々に機能が追加されていき、現在では多機能ターミナルアプリケーション……とは言えないものの、その手前くらいまでは到達したように思う。

このWindows Terminalに足りていなかった機能が設定UIだ。これまでは、JSON形式の設定ファイルを直接編集する必要があった。どのような設定があるのか大元のファイルを調べ、必要な設定部分をコピー&ペーストして自分用のファイルに書き込んで編集するといった流れだ。比較的開発者向けの方法で、プログラミングをしないユーザにとっては敷居の高い方法だ。

Windows Terminal 1.6に導入された設定UIのサンプル

Windows Terminal 1.6で設定UIが導入された。まだ開発段階で足りない項目も多い。しかし、Windows Terminalでどういった設定UIが提供されることになるのか知る上でよいバージョンである。Windows Terminal 1系でデフォルト有効になるかはわからないが、少なくともWindows Terminal 2.0からは設定UIが最初から使用できる状況になるものと見られる。今回はWindows Terminalでどのような設定UIが提供されることになるのか取り上げる。

インストールと設定UI起動設定

プレビュー版のWindows Terminalも安定版のWindows Terminalと同じようにMicrosoftストア経由でインストールを行うことができる。Microsoftストアで「Windows Terminal」で検索を行えば、次のようにプレビュー版が見つかるはずだ。

Microsoftストアに登録されているプレビュー版のWindows Terminal

インストールしたらプレビュー版のWindows Terminalを起動し、設定ファイルを編集する状態にする。「Ctrl」+「,」が設定ファイルを編集するためのショートカットキーになっているので、これを押してもよい。次のスクリーンショットはVisual Studio CodeでWindows Terminalの設定ファイルを編集している状態だ。

設定ファイルを編集しているサンプル

上記スクリーンショットで下線を引いた場所のような感じで、設定UIを起動するためのショートカット設定を追加する。この設定で「Ctrl」+「Shift」+「,」で設定UIが起動するようになる。追加している設定は次の通りだ。

{ "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+shift+," }

設定UIがデフォルトでは使える状態になっていないのは、まだ設定UIが全ての機能に対応していないからだと思われる。今後の開発で全ての設定が網羅されれば、デフォルトで使用できる機能に変わるように思う。

設定UIを一通りチェックしておこう

全ての設定が網羅されているわけではないものの、現時点の実装でも比較的広い範囲がカバーされている。ここでは主要な設定内容を一通り取り上げておく。

なお、Windows Terminalの設定UIは別のダイアログが起動するスタイルではなく、新しいタブの中に設定UIが展開される。近年のWebブラウザはこの形式の設定UIを採用しているものが多いのだが、Windows Terminalもそれによく似ている。

スタートアップ

  • Windows Terminal起動時にデフォルトで起動するシェル(プロファイル)を設定
  • コンピュータ起動時にWindows Terminalを起動するかどうかを設定
  • 起動時のウィンドウサイズを設定(既定、最大化、フルスクリーン、フォーカス、最大フォーカス)
  • 起動時サイズを設定(列×行)

操作

  • 選択範囲をクリップボードに自動的にコピーするかどうかを設定
  • コピー時のテキスト形式を設定(プレーンテキスト、HTML、RTF、HTMLとRTF)
  • 単語区切り文字を設定
  • ウィンドウをリサイズして文字グリッドにスナップするかどうかを設定
  • タブスイッチャーインタフェーススタイルを設定(別ウインドウ最近使用順、別ウインドウタブリスト順、同じウインドウ)

外観

  • テーマを設定(システムテーマ、ライトテーマ、ダークテーマ)
  • 常にタブを表示するかどうかを設定
  • タイトルバーを非表示にするかどうかを設定
  • アクティブなターミナルのタイトルをアプリケーションタイトルとして使用するかどうかを設定
  • 常に手前に表示するかどうかを設定
  • タブ幅モードを設定(等しい、タイトルの長さ、コンパクト)
  • ウインドウアニメーションを無効にするかどうかを設定

配色

  • 前景色、背景色、カーソル色、選択時背景を設定

レンダリング

  • ディスプレイの更新時に画面全体を再描画するかどうかを設定
  • ソフトウエアレンダリングを使用するかどうかを設定

基本レイヤ - 全般

  • 開始時のカレントディレクトリを設定(親プロセスのディレクトリを使う、指定したディレクトリを使う)
  • アイコンを設定
  • 役職を設定

基本レイヤ - 外観

基本レイヤ - 外観

  • テキストの配色を設定
  • テキストのフォントを設定
  • テキストのフォントサイズを設定
  • テキストのフォント太さを設定
  • レトロターミナル効果を有効にするかどうかを設定
  • カーソルの形状を設定
  • 背景画像を設定
  • 背景画像の伸縮モードを設定(均一塗りつぶし、均一、塗りつぶし、なし)
  • 背景画像の配置を設定(9方向)
  • 背景画像の不透明度を設定
  • アクリル効果を有効にするかどうかを設定
  • ウインドウバディングを設定
  • スクロールバーを表示するかどうかを設定

基本レイヤ - 詳細設定

  • タイトルの変更表示をするかどうかを設定
  • テキストのアンチエイリアシングモードを設定(グレースケール、ClearType、エイリアス)
  • AltGrエイリアスを有効にするかどうかを設定
  • 入力時にスクロールするかどうかを設定
  • 履歴サイズを設定
  • プロファイル終了時の動作を設定(終了/失敗/クラッシュ時に閉じる、正式終了時のみ閉じる、自動的に閉じない)
  • ベル通知スタイルを設定(全て、ビジュアル、音、なし)


上記の基本レイヤと同じ設定がプロファイルごとにそれぞれ用意されており、プロファイルごとに個別の設定ができるようになっている。

ショートカットキー設定が未実装

Windows Terminal 1.6の段階で実装されていないのはショートカットキーに関する設定だ。現在の実装を考えると、Visual Studio Code的なショートカットキー設定UIが導入されるような印象がある。

PowerShellユーザーにとって、このショートカットキーの設定は意外と重要だ。PowerShellをより効率良く利用するために、Windows Terminalのショートカットキー設定を自由に変更できることが好ましい。現在でもその設定は行えるが、当然自分でJSONファイルを編集する必要がある。開発者はよくやる作業だが、一般ユーザーには少し敷居が高いだろう。この部分も設定UIから行うことができるようになれば、Windows Terminalはより広い層にとって利用しやすいアプリケーションになるはずだ。