PowerShellをFTCS対応させる
PowerShellをFTCS Command Mark/Shell Integrationに対応させるには、prompt関数を定義する。
※ 以下の関数を$PROFILEで示すファイルに書き込むか直接実行する。スクリプトの実行許可を出しておく
Function prompt() {
$OSC="$([char]27)]"
$ST="$([char]27)\"
#FTCS_COMMAND_FINISHED、FTCS_PROMPT
$promptString="${OSC}133;D${ST}`a${OSC}133;A${ST}"
$promptString+="PS>"
write-host $promptString -NoNewline -ForegroundColor Cyan
return " ${OSC}133;B${ST}" }
PowerShellでは、プロンプトは関数になっていて、この関数の戻り値を使う(何も戻さないとデフォルトのプロンプトが出力されるので注意)。これをPowerShellの(プロファイル)に入れておく。
次に、Windows Terminalでキー割り当て("actions"セクション)をする。
※挿入位置を示すため、オブジェクトの先頭部分を含む点に注意
"actions":
[
// 上記の記述がある場所に、ここから先を挿入する
{"keys":"ctrl+shift+<","command":{"action":"selectCommand","direction":"prev"}},
{"keys":"ctrl+shift+>","command":{"action":"selectCommand","direction":"next"}},
{"keys":"ctrl+shift+[","command":{"action":"selectOutput","direction":"prev"}},
{"keys":"ctrl+shift+]","command":{"action":"selectOutput","direction":"next"}},
{"keys":"ctrl+shift+z","command":"showContextMenu"},
{"keys":"alt+shift+down","command":{"action":"scrollToMark","direction":"next"}},
{"keys":"alt+shift+up","command":{"action":"scrollToMark","direction":"previous"}},
また、Profileセクションで、デフォルトプロファイル設定に以下のリストの設定を追加する。
※挿入位置を示すため、オブジェクトの先頭部分を含む点に注意
"profiles":
{
"defaults":
{
// 上記の記述がある場所に、ここから先を挿入する
"experimental.autoMarkPrompts": true,
"experimental.rightClickContextMenu": true,
"experimental.showMarksOnScrollbar": true,
"scrollbarState": "visible",
このあたりに関しては、過去記事も参照してほしい(「正式版が登場したWindows Terminalをカスタマイズする」「Windows Terminalのカスタマイズを研究【キーボード編】」。
これで、「Ctrl+Shift+<」で前のコマンドを選択、「Ctrl+Shift+[」でコマンド出力を選択状態にできる。複数打鍵で、さらに前方のコマンド、コマンド出力を選択し、「Ctrl+Shift+>」「Ctrl+Shift+]」で後方に戻る。また、「Shift+Alt+上/下」でプロンプト位置までスクロールする。
右クリックメニューはマウスの位置で変わる。コマンド出力などの上で開けば、コマンドや出力の選択が表示されるが、まだコマンドも表示されていない領域では、デフォルトのメニューのみになる。また、テキストが選択状態だと「検索」項目が表示される。
その他、細かい変更点がある。詳細に関しては、GitHubのWindows Terminalのリリースページに記載(リリースノート)がある。
●Releases · microsoft/terminal(英語)
https://github.com/microsoft/terminal/releases
今回のアップデートで、安定版、プレビュー版ともにデスクトップアプリとなり、アンパッケージ版も配布されるようになった。従来、UWPの制限により、レジストリ書き換えなどにも制限があったが、これでほぼ従来のコンソールウィンドウ(conhostウィンドウ)に近いものとなった。

この連載の記事
-
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う - この連載の一覧へ