ja-JP/about_Tab_Expansion.help.txt

TOPIC
    about_Tab_Expansion

簡単な説明
    PowerShell は入力に対して補完を提供し、ヒントの表示、機能の発見、入力の
    高速化を支援します。コマンド名、パラメーター名、引数の値、ファイルパスは、
    いずれも Tab キーを押すことで補完できます。

詳細な説明
    タブ展開は、内部関数 TabExpansion2 によって制御されます。この関数は変更
    したり上書きしたりできるため、ここでの説明は、既定の PowerShell 構成の
    動作についての案内となります。

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

    Tab キーは Windows での既定のキー割り当てです。PSReadLine モジュールまたは
    PowerShell をホストしているアプリケーションを使って、このキー割り当てを
    変更できます。キー割り当ては Windows 以外のプラットフォームでは異なります。
    詳細については、about_PSReadLine を参照してください。

    注: タブ展開プロセスの制限の 1 つは、タブが常に単語を補完しようとする
    試みとして解釈されることです。コマンド例を PowerShell コンソールにコピー
    アンドペーストする場合は、その例にタブが含まれていないことを確認して
    ください。タブが含まれていると、結果は予測不能になり、ほぼ確実に意図した
    ものとは異なる結果になります。

    ファイル名とコマンドレット名の補完

    利用可能な選択肢からファイル名やパスを自動的に補完するには、名前の一部を
    入力して Tab キーを押します。PowerShell は、最初に見つかった一致するもの
    まで名前を自動的に展開します。Tab キーを繰り返し押すと、利用可能なすべての
    選択肢を順番に切り替えます。

    パスの先頭にチルダ文字 (~) が現れると、PowerShell はそれをユーザーのホーム
    ディレクトリとして解釈します。この解釈は Linux および macOS システムでは
    一般的です。ただし、Windows の多くのネイティブコマンドはこの解釈を使用
    しません。Windows 上の PowerShell 7.5-preview.3 以降では、タブ補完を使用
    する際にチルダ文字が $HOME に展開されます。この展開は Windows ネイティブ
    コマンドでも機能します。

    コマンドレット名の補完

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

    注: PowerShell 7.0 以降では、Tab は省略されたコマンドレットや関数も展開
    します。たとえば、i-psdf<tab> は Import-PowerShellDataFile を返します。

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

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

    例

        PS> Get-Con<Tab>

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

        PS> Get-Content

    続いて、Active Setup ログファイルへのパスを部分的に指定し、再びタブ展開を
    使用できます。

        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' が foreach(PowerShell エイリアス)、
    ForEach-Object(コマンドレット)、foreach.cmd(ネイティブコマンド)に
    一致しています。矢印キーを使って必要な値を選択します。

    パラメーター引数の補完

    タブ補完は、パラメーター引数の補完にも機能します。Tab キーを使って、
    あるパラメーターに有効な値の候補一覧を順番に切り替えることができます。

    詳細については、about_Functions_Argument_Completion を参照してください。

    列挙値の補完

    PowerShell 7.0 では、列挙型 (enum) のタブ補完のサポートが追加されました。
    列挙型を使用する場所であればどこでも、タブ補完を使って必要な値を選択
    できます。次に例を示します。

        enum Suits {
            Clubs = 0
            Diamonds = 1
            Hearts = 2
            Spades = 3
        }

        [Suits]$suit = 'c<Tab>

    列挙値は文字列であるため、補完する値は単一引用符または二重引用符文字で
    始まる必要があります。

    Tab キーを押すと、次の結果が得られます。

        [Suits]$suit = 'Clubs'

    タブ補完は .NET の列挙型でも機能します。

        [System.IO.FileAttributes]$attr = 'S<Tab><Tab>

    Tab キーを 2 回押すと、文字 S で始まる 2 つの値を順番に切り替えます。
    最終的な結果は次のようになります。

        [System.IO.FileAttributes]$attr = 'System'

    PowerShell 7.0 以降では、変数への代入時に ValidateSet の値に対するタブ展開
    が追加されました。たとえば、次の変数定義を入力していた場合を考えます。

        [ValidateSet('Chocolate', 'Strawberry', 'Vanilla')]
        [string]$flavor = 'Strawberry'
        $flavor = <tab>

    Tab キーを押すと、次の結果が得られます。

        $flavor = 'Chocolate'

    コメントベースのキーワードに対するタブ補完

    PowerShell 7.2 以降では、#Requires のパラメーターおよびコメントベースの
    ヘルプのキーワードに対するタブ補完のサポートが追加されました。

    #Requires ステートメントの例

        #Requires -<Ctrl-Space>

    メニュー展開により、次のパラメーターオプションが表示されます。

        #Requires -<Ctrl-Space>
        Modules PSEdition RunAsAdministrator Version

    コメントベースのヘルプの例

        <#
            .<Ctrl-Space>

    メニュー展開により、次のキーワードオプションが表示されます。

         <#
            .COMPONENT
        COMPONENT EXTERNALHELP FUNCTIONALITY NOTES REMOTEHELPRUNSPACE
        DESCRIPTION FORWARDHELPCATEGORY INPUTS OUTPUTS ROLE
        EXAMPLE FORWARDHELPTARGETNAME LINK PARAMETER SYNOPSIS

関連項目
    TabExpansion2
    about_Comment_Based_Help
    about_Functions_Argument_Completion
    about_Requires

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP