進化を続けるWindows Terminal

本連載では、これまでWindows Terminalの基本的な機能や設定について紹介してきた。2019年春に登場したばかりのこの若いアプリケーションは執筆時点ではまだプレビュー版となっているが、アップデートのなかでターミナルアプリケーションとして十分に実用に耐える機能を追加している。

またWindows Terminalプロジェクトは今現在も活発に開発を続けており、さまざまな新機能を加えたニューバージョンをリリースし続けている。

実はこれまで紹介してきた機能の一部、例えばショートカットキーで呼び出す検索機能や設定ファイルで紹介したいくつかの設定項目などについては、連載中にアップデートされたWindows Terminalに追加された新機能だ。

Windows Terminal v0.8で追加された検索機能

今回からは、進化を続けているWindows Terminalの機能拡張や連載中に追加された新機能などを紹介していきたいと思う。

レトロターミナルエフェクト

まず、紹介するのはWindows Terminalの見た目を変える機能だ。この機能を利用するのはとても簡単で、次のように対応させたい個別のプロファイル設定に、「experimental.retroTerminalEffect」という設定項目に値「true」を設定した1行を追加するだけだ。

"experimental.retroTerminalEffect": true

CRT風レトロエフェクト機能(Windows Terminalブログより抜粋)

この設定はWindows Terminal上の出力をパソコンの主流ディスプレイとして使われていたCRT(Cathode-Ray Tube)、いわゆるブラウン管風に見せる効果を提供する。CRTでは今の液晶よりもテキストがより光って見え、CRT特有の走査線(スキャンライン)の影響が大きかった。このCRTの特徴をWindows Terminalでも擬似的に見せることができるようになる。

CRTを利用したことがないユーザーにとっては斬新に見え、CRT利用世代にとってはノスタルジーを感じる機能と言える。ただしCRT風に見せるだけの機能のため必要かどうかと言われれば、微妙なところではある。開発チームもこの機能は実験的な機能であるとしており、使いたい方のみ利用すればいいと思う。

またこの機能を利用するには現状ではドラフィックデバイスドライバがDirect3D 11に対応していなければならないようで、利用環境によってはこの機能は使えない。先ほども述べたが実験的な機能であり必須の機能でもないので、わざわざこのためだけにコストをかける必要はないだろう。

ペインやタブのショートカットキーの拡張

Windows Terminalにはペインによるシェルの分割やタブによる新規シェルの立ち上げが行えるようになっており、これらの機能向けにショートカットキーが用意されている。また、それらショートカットキーの編集が可能であることは以前に紹介した。

Windows Terminalではさらに、このショートカットキーを拡張して新たなペインやタブを開く時にプロファイルを指定できるよう、改善が行わている。例えば、デフォルトで設定されているショートカットキー「Shift」+「Alt」+「=」を押せば、現在アクディブなペインが左右に分割されて右側に新規ペインが立ち上がる。この時、立ち上がるのはデフォルトのプロファイルとして設定されているPowerShellとなる。

「Shift」+「Alt」+「=」で新規ペインとしてPowerShellが起動

ペインを分割して新たに用意したPowerShellを利用するのであれば何も問題はないが、コマンドプロンプトやUbuntuなどのWSL環境を利用している場合、欲しいのは分割する前のペインと同じシェルであることが多いと思う。せっかくペインという機能を利用したいのにPowerShellだけしか利用できないのは不便だ。もちろん設定項目DefaultProfileを変更すれば新規ペインのデフォルトのシェルを変更することは可能だが、根本的な解決策とは言えない。

開発チームはこの問題を解決できるよう、ショートカットキーにプロファイルを付与する機能を追加している。例えば次のように新たなショートカットキーを設定することで対象のプロファイルのシェルを新規ペインとして起動できるようになる。

ショートカットキーCtrl-aを追加。ペインを水平に分割してUbuntuを起動(プロファイル名を指定)

編集したショートカットキーで新規ペインUbuntuが起動

設定項目profileにはプロファイル名(設定項目nameに指定した値)やGUID(設定項目guidに指定した値)が指定できるようになっている。また設定項目profileの代わりに設定項目indexでインデックス値を指定することも可能だ。インデックス値は設定ファイルに記載しているプロファイルの順番を意味している。

インデックス値の例

例えば、先ほど作成したショートカットキーのプロファイルの部分を次のように指定しても新規ペインとしてUbuntuが起動する。

ショートカットキー「Ctrl」+「a」でプロファイルにインデックス値を指定

さらに、profileやindexによるプロファイルの指定のほかにも次の設定項目をショートカットキーに指定できるようになっている。

設定できる項目 内容
commandLine 実行ファイル
startingDirectory 対象のディレクトリ
tabTitle タブタイトル

例えば次のようにstartDirectoryでディレクトリを、そのディレクトリ以下にある実行ファイルをcommandlineで指定する、といったことができる。以下の設定例では指定したショートカットキーで新規タブでssh接続が可能となる。

     {"keys":["ctrl+s"],
         "command":{
             "action": "newTab",
             "index":3,
             "startingDirectory": "C:/Windows/system32/OpenSSH",
             "commandline": "ssh.exe USERNAME@XXX.XXX.XXX.XXX"
         }
     }

新機能の追加は止まらず

以上、今回は2つの新機能を紹介した。CRT風の効果を提供する機能は古くて新しい見た目を提供する遊び心のある機能なのではないかと思う。また ショートカットキー拡張のほうはショートカットキーの利用が前提ではあるが、利用環境に合わせて適宜設定を行えば作業効率を上げられる良い機能だ。

後発の強みを生かして開発が続いているWindows Terminalには、まだまだ新たな機能の追加や機能の拡張が行われている。次回も引き続き、それら新機能を紹介していきたい。

参考資料