tech.guitarrapc.cóm

Technical updates

pwshで予測機能を選択する

PowerShell 7.1にはPSReadLine 2.1が搭載されています。PSReadLineはこのバージョンから予測機能をサポートしており、シェルで次に入力する内容を予測してグレイアウト表示します。 こういうグレイアウトされたプレースホルダー表示、見たことないでしょうか?

予測候補の表示例

今回はこのメモです。

予測候補を選択する

予測機能が出ていてもTabキーを押しても現在ディレクトリのファイルが候補に出るだけで「予測候補を選べません」、なんだと。 このため、予測候補度を選びたいなーと思いつつなぞるように入力するとかいう雑なことをしていました。

予測候補に沿って入力している

予測候補を選択するには「右矢印キー」を押してください。

予測候補を選択する

以上、この記事を書いた動機でした。

予測候補の詳細

Microsoft Learnにいい感じの記事があるので、これを見ると良いでしょう。

予測候補は仮想ターミナル(VT)がサポートされいて、PowerShell 7.2以降ならデフォルト有効です。VTは、Windows TerminalやVS Codeのターミナル、WSL、macOSのターミナルアプリなどでサポートされています。 ということで、Windows 11 25H2以降であれば、PowerShell 7.4をインストールしたらすぐに使えます。

もしも予測候補が出ない場合は、以下のコマンドで予測機能が有効になっているか確認してください。

Get-PSReadLineOption | Select-Object -Property PredictionSource

また、もしインストールされていない場合、次のコマンドで最新のPSReadLineをインストールしてください。

Install-PSResource -Name PSReadLine

色やキーバインド変更も可能ですが、私はデフォルトのまま使っているので詳細はMicrosoft Learnで。

まとめ

候補はTabキーで選ぶというのがシェルの常識だと思い込んでいていました。まさか右矢印キーなんですね。

参考資料