TabExpansion2
Uma função auxiliar que encapsula o método CompleteInput() da classe CommandCompletion do para fornecer conclusão de guia para scripts do PowerShell.
Sintaxe
ScriptInputSet (Predefiniçã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 guias para entrada do usuário. O PowerShell chama essa função quando o usuário pressiona a Tab ou tecla Ctrl+Space enquanto digita 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 guias. Para usá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 árvore de sintaxe abstrata (AST) que representa o script.
Você pode substituir o comportamento padrão do TabExpansion2 definindo uma função personalizada com o mesmo nome em sua sessão do PowerShell. Esta função personalizada pode fornecer completações para comandos ou parâmetros personalizados. Embora seja possível substituir TabExpansion2, ela não é suportada. 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 conclusão de tabulação 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 conclusões 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 conclusão da guia para valores de parâmetro
Este exemplo mostra como obter o preenchimento de guias para valores de parâmetro. Neste exemplo, esperamos que parâmetro Stage tenha três valores possíveis e que um dos valores seja Three. Você pode usar essa técnica para testar que a conclusão da 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 tabulação.
Propriedades dos parâmetros
| Tipo: | Ast |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
AstInputSet
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-cursorColumn
O número da coluna do cursor na cadeia de caracteres do script de entrada. A posição do cursor é usada para determinar o token que é expandido pela conclusão da guia.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ScriptInputSet
| Position: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-inputScript
Uma cadeia de caracteres que representa o script que você deseja expandir usando o preenchimento de tabulação.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ScriptInputSet
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-options
Uma hashtable de valores de opção para passar para a API CompleteInput(). A API aceita as seguintes opções booleanas:
-
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$false, força o PowerShell a substituí-los por caminhos absolutos. -
LiteralPaths- Por padrão, o PowerShell substitui caracteres de arquivo especiais, como colchetes e ticks inversos, por seus equivalentes de escape. Definir esse valor como$trueimpede a substituição.
Propriedades dos parâmetros
| Tipo: | Hashtable |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 3 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 pela conclusão da guia.
Propriedades dos parâmetros
| Tipo: | IScriptPosition |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
AstInputSet
| Position: | 2 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-tokens
Uma matriz de tokens analisados a partir do script de entrada. Os tokens são usados para determinar o token que é expandido pela conclusão da guia.
Propriedades dos parâmetros
| Tipo: | Token[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
AstInputSet
| Position: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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.