ニュース

入力しようとしているコマンドを予測 ~PowerShellで「Predictive IntelliSense」が既定有効に

履歴やプラグインなどを参考に推測できるIntelliSense機能

「PowerShell」でコマンドを入力する際、履歴などを元にした入力予測を表示

 米Microsoftは6月27日(日本時間)、「PSReadLine 2.2.6」で入力補完機能「予測 IntelliSense」(Predictive IntelliSense)をデフォルト有効化したと発表した。「PowerShell」でコマンドを入力する際、履歴やプラグインなどを参考に、ユーザーが入力しようとしているコマンドを予測・提案できる。

 「PSReadLine」は「PowerShell」構文の強調表示、エラーの指摘、「Bash」スタイルの入力補完([Tab]キー)、「Bash」「zsh」スタイルの履歴検索([Ctrl]+[R]キー)などの機能を提供するライブラリ。最新版は「PowerShell 7.2」以降、「Windows PowerShell 5.1」に対応しており、以下のコマンドでインストールまたはアップデートが行える。

Install-Module -Name PSReadLine -Force

 履歴ベースの「予測 IntelliSense」は2020年11月から導入されていたが、これまでは以下のようなコマンドで有効化する必要があった。

# 履歴ベースの予測を有効化
Set-PSReadLineOption -PredictionSource History

# 履歴ベースの予測を有効化(リストビュー形式)
Set-PSReadLineOption -PredictionSource History -PredictionViewStyle ListView

# 履歴およびプラグインベースの予測を有効化
Set-PSReadLineOption -PredictionSource HistoryAndPlugin

 しかし、今回の措置により手動による有効化は不要となった。初期設定では入力予測コマンドがライトグレーのテキストで提案されるが、これが見にくい場合は「Set-PSReadLineOption」コマンドでカスタマイズできる。

# 青色に設定
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.blue }

# 初期設定色に戻す
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }

 なお、プラグインベースでの予測がサポートされるのは「PowerShell 7.2」以降のみだ。

リストビュー形式の予測表示
「Set-PSReadLineOption -PredictionSource」で予測ソースを切り替え