TabExpansion2
Uma função auxiliar que encapsula o CompleteInput()
método da classe CommandCompletion para fornecer conclusão de tabulação para scripts do PowerShell.
Syntax
TabExpansion2
[-inputScript] <String>
[[-cursorColumn] <Int32>]
[[-options] <Hashtable>]
[<CommonParameters>]
TabExpansion2
[-ast] <Ast>
[-tokens] <Token[]>
[-positionOfCursor] <IScriptPosition>
[[-options] <Hashtable>]
[<CommonParameters>]
Description
TabExpansion2
é uma função interna que fornece conclusão de tabulação para entrada do usuário. O PowerShell chama essa função quando o usuário pressiona a tecla Tab ou 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, ele pode ser útil para testar a conclusão da guia. Para usar TabExpansion2
o , 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 de definindo uma função personalizada com o mesmo nome em sua sessão do TabExpansion2
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 de tabulação.
Exemplos
Exemplo 1 - Obter conclusão de tabulação para parâmetro de comando
Este exemplo mostra os mesmos resultados que você obteria inserindo Format-Hex -<Tab>
no prompt de comando do PowerShell. A TabExpansion2
função 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 [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 conclusão de tabulação para valores de parâmetro
Este exemplo mostra como obter a conclusão de tabulação 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 a conclusão da guia para que sua função retorne os resultados esperados.
function GetData {
param (
[ValidateSet('One', 'Two', 'Three')]
[string]$Stage
)
Write-Verbose "Retrieving data for stage $Stage"
}
$result = TabExpansion2 -inputScript ($line = 'GetData -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 a conclusão de tabulação.
Tipo: | Ast |
Position: | 0 |
valor padrão: | None |
Obrigatório: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Tipo: | Int32 |
Position: | 1 |
valor padrão: | None |
Obrigatório: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-inputScript
Uma cadeia de caracteres que representa o script que você deseja expandir usando a conclusão de tabulação.
Tipo: | String |
Position: | 0 |
valor padrão: | None |
Obrigatório: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-options
Uma tabela de hash de valores de opção para passar para a CompleteInput()
API. 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 para$true
forç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 back-ticks, por seus equivalentes de escape. Definir esse valor para$true
impedir a substituição.
Tipo: | Hashtable |
Position: | 3 |
valor padrão: | None |
Obrigatório: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Tipo: | IScriptPosition |
Position: | 2 |
valor padrão: | None |
Obrigatório: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Tipo: | Token[] |
Position: | 1 |
valor padrão: | None |
Obrigatório: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Saídas
Links Relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de