内部的な改良で便利になったWindows Terminal v1.19での新機能を確認
ASCII.jp / 2023年10月15日 10時0分
Windows Terminalにプレビュー版のv.1.19が登場
9月末にWindows Terminalのプレビュー版(v1.19)と安定版(v1.18)が公開された。今回は、このプレビュー版の機能を中心に見ていくことにする。
公開されたのは、プレビュー版のv1.19.2682.0、安定版のv1.18.2681.0だ。プレビュー版はすでにMicrosoftストアでの配布が開始されているが、原稿執筆時点での安定版の配布はまだ始まっていない。通常は1週間ぐらいで、不具合を修正したバージョンが登場するため、安定版を常用しているのであれば、これを待ったほうがいいだろう。
安定版は、5月にプレビュー版として公開されたv1.18をベースに、v1.19に搭載されたいくつかの改良点を含む。ただし、スクロールバーマークとシェル統合機能は安定版には含まれない。安定版での最大の特徴は、タブをウィンドウから切り離し、ウィンドウ間で移動できるようにした点など。v1.18での改良点に関しては、以下の記事を参照してほしい(「タブのウィンドウ間の移動も可能に! Windows Terminal v1.17/v1.18の新機能を見る」)。
v1.19における新機能
今回の改良点には、実験的な機能である「入力提案UI」「ブロードキャストモード」に加え、検索ボックスやメニューの改良のほか、起動オプションの追加など。そのほかに内部的な変更もある。
内部的な変更では、cookedモードや入力バッファ制御などがあるようだ。これらは直接目には見えないが、具体的な効果も存在する。v1.18までは、一部の言語のREPL(Read-Eval-Print Loop)のポップアップなどが正しく動作しないことがあった。具体的には、Ruby言語のirbコマンドなどだ。irbには、入力コマンドをポップアップメニューで補完する機能があるのだが、ポップアップが出ると、入力行が飛ぶことがあった。しかし、これがv1.19では正しく動作するようになった。
次に目に見えるところから解説していこう。「入力提案UI」は、シェルと連携し、キー入力時の補完などを表示するユーザーインターフェースを表示できるようにするものだ。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621510/x/5d6d1dbbc2d6b7df.png)
多くのシェルは、入力時に補完をする機能を持つが、このときに利用できるメニューがWindows Terminalに用意され、VTエスケープシーケンスでの表示が可能。ただし、現時点では実験的機能と位置づけられていて、PowerShell用のサンプルがある程度でしかない。詳細に関しては、以下のページを参照していただきたい。
●Experimental Shell Completion Menu(英語) https://github.com/microsoft/terminal/wiki/Experimental-Shell-Completion-Menu
「ブロードキャストモード」は、タブ内の複数のペインに同時にキー入力をする。複数のペインに同じキーを同時に渡せる。これは、ソフトウェアの評価やベンチマークなどで、複数のシェルなどを同時に操作する場合に利用できる。
メニューの改良では、メインメニューのプロファイル上での右クリックで、「管理者として実行」サブメニューを表示するようになった。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621511/x/683a58297b4f3451.png)
従来もCtrlキーを押しながらの左クリックで、プロファイルを管理者で実行できた。しかし、今回の改良により、キーボードを使わずにメニューのみで管理者としてプロファイルを起動可能になった。なお、この機能は安定版v1.18にバックポートされている。
また、タブ上の右クリックメニューに「タブを新しいウィンドウに移動」という項目が加わった。これを使うことで、タブを簡単に新しいウィンドウで開くことが可能になる。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621512/x/35efc2434807cb58.png)
検索ボックスでは、検索結果総数を表示し、現在何番目の結果を選択しているのかを表示できるようになった。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621513/x/2a53c5f8043ceac7.png)
settings.json内で利用できる新しい設定項目が追加されている。この中には、Web検索をする機能がある。この機能にはコンテキストメニューから選択範囲をWeb検索する方法と、キー割り当てにより選択範囲をWeb検索する方法がある。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621515/x/8d6c09e66a353c24.png)
コンテキストメニューにWeb検索を追加するには、プロファイル設定で、右クリックメニューを有効にする。
![Windows Terminal v1.19](https://ascii.jp/img/2023/10/14/3621514/x/95e74183ff2256c6.png)
"experimental.rightClickContextMenu": true
デフォルトでは、bing.comを使ったWeb検索が行われるが、検索URLを指定するには、グローバル設定で「searchWebDefaultQueryUrl」にURLパターンを指定する。デフォルト値は、
"searchWebDefaultQueryUrl": "https://www.bing.com/search?q=%22%s%22"
となっている。検索エンジンを変更したい場合には、これを書き換えて使う。たとえば、Googleを使うなら
"searchWebDefaultQueryUrl": "https://www.google.com/search?q=%22%s%22"
とする。
キーボードからWeb検索をする場合、以下のキー割り当てを定義する。
{ "command": { "action": "searchWeb","queryUrl": "https://www.google.com/search?q=%s" }, "keys": "ctrl+alt+shift+q" },
この設定では、範囲を選択したあと、「Alt+Ctrl+Shift+Q」でブラウザが開き、選択範囲をGoogleで検索する。
また、プロファイル設定で「experimental.repositionCursorWithMouse」を定義し、マウスでカーソル位置を移動させることも可能になった。ただし、現状有効なのは、入力中のシェル行のみで、viやemacsなどのエディタ内では利用できない。そのためには、シェル統合を有効にしておく必要がある。
"experimental.repositionCursorWithMouse":true, "experimental.showMarksOnScrollbar": true, "experimental.autoMarkPrompts": true,
そのほか、テーマ機能などに拡張がある。Windows Terminal v1.19に関しては、「Windows Command Lineブログ(英語)」や「GitHubのリリースページ」に情報がある。
コマンドラインオプションの追加
v1.19では、コマンドラインオプションも追加されている。1つは、v1.18で対応された環境変数の追従機能の制御である。v1.18では実行モデルが変更になったことで、各プロファイルは起動時の環境変数を引き継ぐようになった。v1.17までは親プロセスの環境変数をすべてのプロファイルが引き継ぐしかなかった。
プログラムのインストール作業などの場合には、新しい環境変数が使われる方がありがたいが、シェルから子プロセスを実行するような場合、最新の環境変数ではなく、親と同じ環境変数を引き継ぎたい場合もある。親プロセスで環境変数を定義して、子プロセスで利用するといった場合だ。
このようなとき、子プロセスとして起動されるwindows Terminalの環境変数を、親プロセスのものに強制するオプションとして「--inheritEnvironment」が、引き継がずに最新の環境変数を受け取るオプションとして「--reloadEnvironment」が用意された。デフォルトは、親プロセスの環境変数を受け取る「--inheritEnvironment」なので、何も指定しないと、親と同じ環境変数を受け継ぐ。
なお、この動作は、settings.jsonのグローバル設定で「compatibility.reloadEnvironmentVariables」を設定することで、v1.17と同じ挙動に戻すことができる。
もう1つの新規オプションは、「--appendCommandLine」フラグオプションで、これを指定すると、プロファイルの起動コマンドに、後続するコマンドを追加してプロファイルを起動する。これは、new-tab、split-paneサブコマンド内で利用する。たとえば、new-tabサブコマンドなどで、
wt.exe --appendCommandLine -p "PowerShell" -- -nop -noexit -command echo hello
と指定すると、PowerShellプロファイルに定義されているcommandlineに、後続の「-nop」(-noprofileの省略形)を追加して起動を行う。なお「--」は、後続のハイフン文字をWindows Terminalのオプションとして処理しないことを示す「POSITIONAL MARK」と呼ばれるWindows Terminalの記法である。ハイフンを含む引数を指定するときなどに利用する。
なお、コマンドラインに関しては、本連載の以前の記事(「Windows Terminalのコマンドラインを極める」)を参考にしてほしい。
今回の改良はそれほど派手なものではないが、筆者的には、rubyのirbが動作するようになった内部的な改良を評価したい。これまでWindows Terminalで挙動がおかしかったコマンドがあるようなら、v1.19を試してみる価値はある。
この記事に関連するニュース
-
Windows「Copilot」が独立アプリに スナップ機能で整列など使い勝手が向上
ASCII.jp / 2024年7月2日 9時0分
-
Windows 11向け更新プログラム「KB5039302」プレビュー版公開
マイナビニュース / 2024年7月1日 10時13分
-
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる?
ASCII.jp / 2024年6月23日 10時0分
-
Visual Studio Code 2024年5月の注目すべき新機能
マイナビニュース / 2024年6月10日 14時31分
-
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように
ASCII.jp / 2024年6月9日 10時0分
ランキング
-
1「赤ちゃんのお世話がしたいニャ!」ベビーサークル越しに愛を訴える猫ちゃん
おたくま経済新聞 / 2024年7月8日 7時0分
-
2スタバ、一部商品を価格より高く販売していた 約10年にわたりシステム設定に不備、返金へ
ITmedia NEWS / 2024年7月8日 17時3分
-
3一度植えたら、自動で増殖&毎年収穫を目指せる野菜5種とは? 自然農のエキスパートが伝授する方法に反響
ねとらぼ / 2024年7月8日 9時0分
-
4「わろてる」 人気VTuberが部屋で“でかめのやらかし”をした様子を公開し話題に 「どうなってんのこれw」「想像以上」
ねとらぼ / 2024年7月7日 18時0分
-
5モトローラが日本市場で急成長している理由 1年で出荷台数2倍以上、「edge」「razr」の販路拡大がカギに
ITmedia Mobile / 2024年7月6日 11時45分
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/mission_close_icon.png)
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/point-loading.png)
エラーが発生しました
ページを再読み込みして
ください
![](/pc/img/mission/mission_close_icon.png)