Sdílet prostřednictvím


TabExpansion2

Pomocná funkce, která zabalí CompleteInput() metodu CommandCompletion třídy, která poskytuje dokončování tabulátoru pro skripty PowerShellu.

Syntax

ScriptInputSet (Výchozí)

TabExpansion2
    [-inputScript] <String>
    [[-cursorColumn] <Int32>]
    [[-options] <Hashtable>]
    [<CommonParameters>]

AstInputSet

TabExpansion2
    [-ast] <Ast>
    [-tokens] <Token[]>
    [-positionOfCursor] <IScriptPosition>
    [[-options] <Hashtable>]
    [<CommonParameters>]

Description

TabExpansion2 je integrovaná funkce, která poskytuje dokončování tabulátoru pro uživatelský vstup. PowerShell tuto funkci volá, když uživatel při psaní příkazu stiskne klávesu tabulátoru nebo klávesu Ctrl+ mezerník. Funkce vrátí seznam možných dokončení aktuálního vstupu.

TabExpansion2 uživatelé obvykle nevolá přímo. Může ale být užitečné pro testování dokončení tabulátoru. Pokud chcete použít TabExpansion2, musíte zadat aktuální vstupní skript a pozici kurzoru ve skriptu. Funkce vrátí CommandCompletion objekt, který obsahuje seznam možných dokončení aktuálního vstupu. Tento vstupní skript může být řetězec nebo abstraktní strom syntaxe (AST), který představuje skript.

Výchozí chování TabExpansion2 můžete přepsat definováním vlastní funkce se stejným názvem v relaci PowerShellu. Tato vlastní funkce může poskytovat dokončování vlastních příkazů nebo parametrů. I když je možné přepsat TabExpansion2, nepodporuje se. Vlastní funkci byste měli vytvořit jenom v případě, že potřebujete přizpůsobit chování dokončování tabulátoru.

Příklady

Příklad 1 – Získání dokončování tabulátoru pro parametr příkazu

Tento příklad ukazuje stejné výsledky, které byste získali zadáním Format-Hex -<Tab> na příkazovém řádku PowerShellu. Funkce TabExpansion2 vrátí CommandCompletion objekt, který obsahuje seznam možných dokončení tokenu -.

TabExpansion2 -inputScript ($s = 'Format-Hex -') -cursorColumn $s.Length |
    Select-Object -ExpandProperty CompletionMatches
CompletionText       ListItemText           ResultType ToolTip
--------------       ------------           ---------- -------
-Path                Path                ParameterName [string[]] Path
-LiteralPath         LiteralPath         ParameterName [string[]] LiteralPath
-InputObject         InputObject         ParameterName [Object] InputObject
-Encoding            Encoding            ParameterName [string] Encoding
-Raw                 Raw                 ParameterName [switch] Raw
-Verbose             Verbose             ParameterName [switch] Verbose
-Debug               Debug               ParameterName [switch] Debug
-ErrorAction         ErrorAction         ParameterName [ActionPreference] ErrorAction
-WarningAction       WarningAction       ParameterName [ActionPreference] WarningAction
-InformationAction   InformationAction   ParameterName [ActionPreference] InformationAction
-ErrorVariable       ErrorVariable       ParameterName [string] ErrorVariable
-WarningVariable     WarningVariable     ParameterName [string] WarningVariable
-InformationVariable InformationVariable ParameterName [string] InformationVariable
-OutVariable         OutVariable         ParameterName [string] OutVariable
-OutBuffer           OutBuffer           ParameterName [int] OutBuffer
-PipelineVariable    PipelineVariable    ParameterName [string] PipelineVariable

Příklad 2 – Získání dokončování tabulátoru pro hodnoty parametrů

Tento příklad ukazuje, jak získat dokončování tabulátoru pro hodnoty parametrů. V tomto příkladu očekáváme, že parametr Stage má tři možné hodnoty a že jedna z hodnot je Three. Tuto techniku můžete použít k otestování dokončení tabulátoru pro vaši funkci, která vrátí očekávané výsledky.

function Get-Data {
    param (
        [ValidateSet('One', 'Two', 'Three')]
        [string]$Stage
    )
    Write-Verbose "Retrieving data for stage $Stage"
}

$result = TabExpansion2 -inputScript ($line = 'Get-Data -Stage ') -cursorColumn $line.Length |
    Select-Object -ExpandProperty CompletionMatches
$result.Count -eq 3
$result.CompletionText -contains 'Three'
True
True

Parametry

-ast

Abstraktní objekt stromu syntaxe (AST), který představuje skript, který chcete rozbalit pomocí dokončování tabulátoru.

Vlastnosti parametru

Typ:Ast
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

AstInputSet
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-cursorColumn

Číslo sloupce kurzoru ve vstupním řetězci skriptu. Pozice kurzoru slouží k určení tokenu, který se rozbalí po dokončení tabulátoru.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ScriptInputSet
Position:1
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-inputScript

Řetězec, který představuje skript, který chcete rozbalit pomocí dokončování tabulátoru.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ScriptInputSet
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-options

A hashtable of option values to pass to the CompleteInput() API. Rozhraní API přijímá následující logické možnosti:

  • IgnoreHiddenShares – při nastavení na $trueignorujte skryté sdílené složky UNC, jako jsou \\COMPUTER\ADMIN$ a \\COMPUTER\C$. PowerShell ve výchozím nastavení obsahuje skryté sdílené složky.
  • RelativePaths – PowerShell ve výchozím nastavení rozhodne, jak rozbalit cesty na základě zadaného vstupu. Nastavení této hodnoty na $true vynutí PowerShell nahradit cesty relativními cestami. Nastavením této hodnoty na $falsevynutí powershell nahradit je absolutními cestami.
  • LiteralPaths – PowerShell ve výchozím nastavení nahradí speciální znaky souboru, jako jsou hranaté závorky a zpětné odškrtávání, jejich řídicími ekvivalenty. Nastavením této hodnoty na $true zabráníte nahrazení.

Vlastnosti parametru

Typ:Hashtable
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:3
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-positionOfCursor

Číslo sloupce kurzoru ve vstupním ast. Pozice kurzoru slouží k určení tokenu, který se rozbalí po dokončení tabulátoru.

Vlastnosti parametru

Typ:IScriptPosition
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

AstInputSet
Position:2
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-tokens

Pole tokenů parsovaných ze vstupního skriptu. Tokeny slouží k určení tokenu, který se rozbalí po dokončení tabulátoru.

Vlastnosti parametru

Typ:

Token[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

AstInputSet
Position:1
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Výstupy

CommandCompletion