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 [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
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$trueforç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$trueimpede 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.