TabExpansion2
Funzione helper che esegue il wrapping del CompleteInput()
metodo della classe CommandCompletion per fornire il completamento tramite tabulazione per gli script di PowerShell.
Sintassi
TabExpansion2
[-inputScript] <String>
[[-cursorColumn] <Int32>]
[[-options] <Hashtable>]
[<CommonParameters>]
TabExpansion2
[-ast] <Ast>
[-tokens] <Token[]>
[-positionOfCursor] <IScriptPosition>
[[-options] <Hashtable>]
[<CommonParameters>]
Descrizione
TabExpansion2
è una funzione predefinita che fornisce il completamento tramite tabulazione per l'input dell'utente. PowerShell chiama questa funzione quando l'utente preme tabulazione o CTRL+SPAZIO durante la digitazione di un comando. La funzione restituisce un elenco di possibili completamenti per l'input corrente.
TabExpansion2
non viene normalmente chiamato direttamente dagli utenti. Tuttavia, può essere utile per testare il completamento della scheda. Per usare TabExpansion2
, è necessario specificare lo script di input corrente e la posizione del cursore nello script. La funzione restituisce un oggetto CommandCompletion che contiene un elenco di possibili completamenti per l'input corrente. Questo script di input può essere una stringa o un albero della sintassi astratta (AST) che rappresenta lo script.
È possibile eseguire l'override del comportamento predefinito di TabExpansion2
definendo una funzione personalizzata con lo stesso nome nella sessione di PowerShell. Questa funzione personalizzata può fornire completamenti per comandi o parametri personalizzati. Sebbene sia possibile eseguire l'override TabExpansion2
di , non è supportato. È consigliabile creare una funzione personalizzata solo se è necessario personalizzare il comportamento di completamento della scheda.
Esempio
Esempio 1 - Ottenere il completamento tramite tabulazione per il parametro di comando
Questo esempio mostra gli stessi risultati ottenuti immettendo Format-Hex -<Tab>
al prompt dei comandi di PowerShell. La TabExpansion2
funzione restituisce un oggetto CommandCompletion che contiene un elenco di possibili completamenti per il -
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
Esempio 2- Ottenere il completamento tramite tabulazione per i valori dei parametri
In questo esempio viene illustrato come ottenere il completamento tramite tabulazione per i valori dei parametri. In questo esempio si prevede che il parametro Stage abbia tre valori possibili e che uno dei valori sia Three
. È possibile usare questa tecnica per testare il completamento della scheda per la funzione restituisce i risultati previsti.
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
Parametri
-ast
Oggetto albero della sintassi astratta (AST) che rappresenta lo script che si desidera espandere utilizzando il completamento tramite tabulazione.
Tipo: | Ast |
Position: | 0 |
valore predefinito: | None |
Necessario: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-cursorColumn
Numero di colonna del cursore nella stringa dello script di input. La posizione del cursore viene utilizzata per determinare il token espanso dal completamento della scheda.
Tipo: | Int32 |
Position: | 1 |
valore predefinito: | None |
Necessario: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-inputScript
Stringa che rappresenta lo script che si desidera espandere usando il completamento tramite tabulazione.
Tipo: | String |
Position: | 0 |
valore predefinito: | None |
Necessario: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-options
Tabella hash dei valori delle opzioni da passare all'API CompleteInput()
. L'API accetta le opzioni booleane seguenti:
IgnoreHiddenShares
- Se impostato su$true
, ignorare le condivisioni UNC nascoste,\\COMPUTER\ADMIN$
ad esempio e\\COMPUTER\C$
. Per impostazione predefinita, PowerShell include condivisioni nascoste.RelativePaths
- Per impostazione predefinita, PowerShell decide come espandere i percorsi in base all'input specificato. L'impostazione di questo valore su$true
forza PowerShell a sostituire i percorsi con percorsi relativi. L'impostazione di questo valore su$false
forza PowerShell a sostituirli con percorsi assoluti.LiteralPaths
- Per impostazione predefinita, PowerShell sostituisce caratteri di file speciali, ad esempio parentesi quadre e tick back-tick, con i relativi equivalenti di escape. L'impostazione di questo valore su$true
impedisce la sostituzione.
Tipo: | Hashtable |
Position: | 3 |
valore predefinito: | None |
Necessario: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-positionOfCursor
Numero di colonna del cursore nell'AST di input. La posizione del cursore viene utilizzata per determinare il token espanso dal completamento della scheda.
Tipo: | IScriptPosition |
Position: | 2 |
valore predefinito: | None |
Necessario: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-tokens
Matrice di token analizzati dallo script di input. I token vengono usati per determinare il token espanso dal completamento tramite tabulazione.
Tipo: | Token[] |
Position: | 1 |
valore predefinito: | None |
Necessario: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Output
Collegamenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per