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ウィンドウ)に近いものとなった。
この連載の記事
-
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 - この連載の一覧へ