Compartilhar via


TabExpansion2

Uma função auxiliar que encapsula o método CompleteInput() da classe CommandCompletion para fornecer a conclusão da guia para scripts do PowerShell.

Sintaxe

ScriptInputSet (Padrão)

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

AstInputSet

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

Description

TabExpansion2 é uma função interna que fornece preenchimento de guia para entrada do usuário. O PowerShell chama essa função quando o usuário pressiona a tecla Tab ou Ctrl+Space ao digitar um comando. A função retorna uma lista de possíveis conclusões para a entrada atual.

TabExpansion2 normalmente não é chamado diretamente pelos usuários. No entanto, pode ser útil para testar o preenchimento de guia. Para usar TabExpansion2, você precisa fornecer o script de entrada atual e a posição do cursor no script. A função retorna um objeto CommandCompletion que contém uma lista de possíveis conclusões para a entrada atual. Esse script de entrada pode ser uma cadeia de caracteres ou uma AST (árvore de sintaxe abstrata) que representa o script.

Você pode substituir o comportamento padrão de TabExpansion2 definindo uma função personalizada com o mesmo nome na sessão do PowerShell. Essa função personalizada pode fornecer conclusões para comandos ou parâmetros personalizados. Embora seja possível substituir TabExpansion2, não há suporte. Você deve criar uma função personalizada somente se tiver uma necessidade específica de personalizar o comportamento de conclusão da guia.

Exemplos

Exemplo 1 – Obter o preenchimento de guia para o parâmetro de comando

Este exemplo mostra os mesmos resultados que você obteria inserindo Format-Hex -<Tab> no prompt de comando do PowerShell. A função TabExpansion2 retorna um objeto CommandCompletion que contém uma lista de possíveis opções de conclusão para o token -.

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 [psobject] InputObject
-Encoding      Encoding     ParameterName [Encoding] Encoding
-Count         Count        ParameterName [long] Count
-Offset        Offset       ParameterName [long] Offset

Exemplo 2 – Obter o preenchimento de guia para valores de parâmetro

Este exemplo mostra como obter o preenchimento de guia para valores de parâmetro. Neste exemplo, esperamos que o parâmetro Stage tenha três valores possíveis e que um dos valores seja Three. Você pode usar essa técnica para testar se o preenchimento de guia para sua função retorna os resultados esperados.

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

Parâmetros

-ast

Um objeto de árvore de sintaxe abstrata (AST) que representa o script que você deseja expandir usando o preenchimento de guia.

Propriedades do parâmetro

Tipo:Ast
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

AstInputSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-cursorColumn

O número da coluna do cursor na cadeia de caracteres de script de entrada. A posição do cursor é usada para determinar o token que é expandido pelo preenchimento de guia.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ScriptInputSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-inputScript

Uma cadeia de caracteres que representa o script que você deseja expandir usando o preenchimento de guia.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ScriptInputSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-options

Um hashtable de valores de opção a serem passados para a API CompleteInput(). A API aceita as seguintes opções boolianas:

  • IgnoreHiddenShares - Quando definido como $true, ignore compartilhamentos UNC ocultos, como \\COMPUTER\ADMIN$ e \\COMPUTER\C$. Por padrão, o PowerShell inclui compartilhamentos ocultos.
  • RelativePaths - Por padrão, o PowerShell decide como expandir caminhos com base na entrada fornecida. Definir esse valor como $true força o PowerShell a substituir caminhos por caminhos relativos. Definir esse valor como $falseforça o PowerShell a substituí-los por caminhos absolutos.
  • LiteralPaths - Por padrão, o PowerShell substitui caracteres de arquivo especiais, como colchetes e acentos agudos, por seus equivalentes com caractere de escape. Definir esse valor como $true impede a substituição.

Propriedades do parâmetro

Tipo:Hashtable
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:3
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-positionOfCursor

O número da coluna do cursor no AST de entrada. A posição do cursor é usada para determinar o token que é expandido pelo preenchimento de guia.

Propriedades do parâmetro

Tipo:IScriptPosition
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

AstInputSet
Cargo:2
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-tokens

Uma matriz de tokens analisados do script de entrada. Os tokens são usados para determinar o token que é expandido pelo preenchimento de guia.

Propriedades do parâmetro

Tipo:

Token[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

AstInputSet
Cargo:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Saídas

CommandCompletion