about_Tab_Expansion

簡単な説明

PowerShell には、ヒントの提示、検出の有効化、入力エントリの高速化のために、入力補完が搭載されています。 コマンド名、パラメーター名、引数値、ファイル パスのすべてを、Tab キーを押して補完できます。

詳細な説明

タブ展開は、内部関数 TabExpansion または TabExpansion2 によって制御されます。 この関数は変更やオーバーライドができるため、この説明は既定の PowerShell 構成の動作についてのガイドとなっています。

タブ展開の動作は、PSReadLine モジュールの予測 IntelliSense 機能によっても変更できます。 詳細については、「予測 IntelliSense」を参照してください

Tab キーは、Windows の既定のキー バインドです。 キーバインドは、PSReadLine モジュールまたは PowerShell をホストしているアプリケーションを使用して変更できます。 詳細については、「about_PSReadLine」を参照してください。

Note

タブ拡張プロセスの 1 つの制限は、タブがあると、必ず単語の補完を試みていると解釈されることです。 コマンドの例をコピーして PowerShell コンソールに貼り付ける場合は、サンプルにタブが含まれていないことを確認します。 その場合、結果は予測不能になり、ほぼ確実に意図したものではありません。

ファイル名とコマンドレット名の入力候補

使用可能な選択肢からファイル名またはパスを自動的に入力するには、名前の一部を入力して Tab キーを押します。 PowerShell で自動的に名前が展開され、最初に見つかった一致する項目が表示されます。 Tab キーを繰り返し押すと、使用可能なすべての選択肢が繰り返し表示されます。

コマンドレット名のタブ拡張は若干異なります。 コマンドレット名にタブ拡張を使用するには、名前の最初の部分全体 (動詞) とそれに続くハイフンを入力します。 部分一致するよう、名前をより詳細に入力することもできます。 たとえば、Tab キーを押get-coすと、PowerShell によってコマンドレットに自動的にGet-Command展開されます。 また、文字の大文字と小文字が標準形式に変更されていることにも注意してください。 もう一度 Tab キーを押すと、PowerShell によってこれが他の一致する唯一のコマンドレット名 Get-Content に置き換えられます。

タブ補完は、PowerShell エイリアスとネイティブ実行可能ファイルを解決するためにも機能します。

同じ行にタブ拡張を繰り返し使用できます。 たとえば、Get-Content コマンドレットの名前に対してタブ展開を使用するには、次のように入力できます。

PS> Get-Con<Tab>

Tab キーを押すと、コマンドは次のように拡張されます。

PS> Get-Content

次に、アクティブ セットアップのログ ファイルのパスを部分的に指定し、もう一度タブ拡張を使用できます。

PS> Get-Content c:\windows\acts<Tab>

Tab キーを押すと、コマンドは次のように拡張されます。

PS> Get-Content C:\windows\actsetup.log

PSReadLine には、メニュー補完機能もあります。 Windows の既定のキー バインドは Ctrl+Space です。

PS> fore<Ctrl-Space>

Ctrl Space キー+を押すと、PowerShell によって、一致する値の完全な一覧がメニューとして表示されます。

PS> foreach
foreach         ForEach-Object  foreach.cmd

この例では、文字列 'fore' が (PowerShell エイリアス)、(コマンドレット) ForEach-Object 、および (ネイティブ コマンド) にforeach.cmd一致foreachします。 方向キーを使用して、目的の値を選択します。

パラメーター引数の入力候補

タブ補完は、パラメーター引数を完了するためにも機能します。 Tab キーを使用すると、パラメーターに対して有効な使用可能な値の一覧を順番に表示できます。 詳細については、「about_Functions_Argument_Completion」を参照してください

関連項目