Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Breve descrizione
PowerShell fornisce completamenti automatici dell'input per fornire suggerimenti, abilitare l'individuazione e accelerare l'inserimento dell'input. I nomi dei comandi, i nomi dei parametri, i valori degli argomenti e i percorsi di file possono essere completati premendo il tasto Tab.
Descrizione lunga
L'espansione tramite tabulazione è controllata dalla funzione interna TabExpansion2. Poiché questa funzione può essere modificata o sottoposta a override, questa discussione è una guida al comportamento della configurazione predefinita di PowerShell.
Il comportamento dell'espansione del tab può essere modificato anche dalla funzione Predictive IntelliSense del modulo PSReadLine. Per altre informazioni, vedere Predictive IntelliSense.
Il tasto tab è l'associazione di tasti predefinita in Windows. È possibile modificare il tasto di scelta rapida usando il modulo PSReadLine o l'applicazione che ospita PowerShell. Il tasto di scelta rapida è diverso su piattaforme diverse da Windows. Per altre informazioni, vedere about_PSReadLine.
Nota
Una limitazione del processo di espansione delle schede è che le schede vengono sempre interpretate come tentativi di completare una parola. Se si copiano e incollano esempi di comandi in una console di PowerShell, assicurarsi che l'esempio non contenga schede. In caso affermativo, i risultati saranno imprevedibili e quasi certamente non saranno quelli desiderati.
COMPLETAMENTO DEL NOME DEL FILE E DEL CMDLET
Per compilare automaticamente un nome file o un percorso dalle scelte disponibili, digitare parte del nome e premere il tasto Tab. PowerShell espande automaticamente il nome alla prima corrispondenza trovata. Premendo tabulazioni tasto scorre ripetutamente tutte le opzioni disponibili.
Quando il carattere tilde (~) viene visualizzato all'inizio di un percorso, PowerShell lo interpreta come home directory dell'utente. Questa interpretazione è comune nei sistemi Linux e macOS. Tuttavia, molti comandi nativi in Windows non usano questa interpretazione. A partire da PowerShell 7.5-preview.3 su Windows, il carattere tilde viene espanso a $HOME quando si usa il completamento con il tasto tab.
Questa espansione funziona con i comandi nativi di Windows.
Completamento del nome del cmdlet
L'espansione della scheda dei nomi dei cmdlet è leggermente diversa. Per usare l'espansione tramite tabulazione in un nome di cmdlet, digitare l'intera prima parte del nome (verbo) e il trattino che lo segue. È possibile immettere più dettagli del nome per ottenere una corrispondenza parziale.
Ad esempio, se si digita get-co e quindi si preme il tasto tabulazione, PowerShell lo espande automaticamente al cmdlet Get-Command. Si noti che cambia anche la forma delle lettere nella loro forma standard. Se si preme il tasto Tab di nuovo, PowerShell lo sostituisce con l'unico altro nome di cmdlet corrispondente Get-Content.
Nota
A partire da PowerShell 7.0, Tab espande anche i cmdlet e le funzioni abbreviati. Ad esempio, i-psdf<tab> restituisce Import-PowerShellDataFile.
Il completamento tramite tabulazione funziona anche per risolvere gli alias di PowerShell e i file eseguibili nativi.
È possibile utilizzare ripetutamente il completamento con tabulazione sulla stessa riga. Ad esempio, puoi utilizzare l'espansione della tabulazione sul nome del cmdlet Get-Content digitando:
Esempi
PS> Get-Con<Tab>
Quando si preme il tasto di tabulazione, il comando si espande a:
PS> Get-Content
È quindi possibile specificare parzialmente il percorso del file di log di Active Setup e usare di nuovo il completamento tramite tabulazione.
PS> Get-Content C:\windows\acts<Tab>
Quando si preme il tasto di tabulazione, il comando si espande a:
PS> Get-Content C:\windows\actsetup.log
PSReadLine include anche una funzionalità di completamento del menu. L'associazione di tasti predefinita in Windows è CTRL+Spazio.
PS> fore<Ctrl-Space>
Quando si preme CTRL+Spazio, PowerShell presenta l'elenco completo dei valori corrispondenti come menu:
PS> foreach
foreach ForEach-Object foreach.cmd
In questo esempio la stringa 'fore' viene confrontata con foreach (alias di PowerShell), ForEach-Object (cmdlet) e foreach.cmd (comando nativo). Usare i tasti di direzione per selezionare il valore desiderato.
Completamento dell'argomento del parametro
Il completamento tramite tabulazione può anche funzionare per completare gli argomenti dei parametri. È possibile usare la chiave tab per scorrere un elenco di valori possibili validi per alcuni parametri.
Per altre informazioni, vedere about_Functions_Argument_Completion.
Completamento dei valori enumerati
PowerShell 7.0 ha aggiunto il supporto per il completamento tramite tabulazione delle enumerazioni. È possibile usare il completamento tramite tabulazione per selezionare il valore desiderato ovunque si usi un enum. Per esempio:
enum Suits {
Clubs = 0
Diamonds = 1
Hearts = 2
Spades = 3
}
[Suits]$suit = 'c<Tab>
I valori enumerati sono stringhe, quindi il valore da completare deve iniziare con una virgoletta singola o doppia.
Quando si preme il tasto tabulazione, si ottengono i risultati seguenti:
[Suits]$suit = 'Clubs'
Il completamento tramite tabulazione funziona anche con le enumerazioni .NET.
[System.IO.FileAttributes]$attr = 'S<Tab><Tab>
Premendo due volte il tasto Tab si scorre tra i due valori che iniziano con la lettera S. Il risultato finale è:
[System.IO.FileAttributes]$attr = 'System'
A partire da PowerShell 7.0, l'espansione della scheda è stata aggiunta per i valori di ValidateSet quando si assegna a una variabile. Ad esempio, se si digita la definizione di variabile seguente:
[ValidateSet('Chocolate', 'Strawberry', 'Vanilla')]
[string]$flavor = 'Strawberry'
$flavor = <tab>
Quando si preme il tasto Tab, si otterrà il risultato seguente:
$flavor = 'Chocolate'
Completamento tramite tabulazione per parole chiave basate su commenti
A partire da PowerShell 7.2, è stato aggiunto il supporto per il completamento automatico tramite tab dei parametri #Requires e le parole chiave per la Guida basata sui commenti.
Esempio di istruzione #Requires
#Requires -<Ctrl-Space>
L'espansione del menu mostra le opzioni dei parametri seguenti:
#Requires -<Ctrl-Space>
Modules PSEdition RunAsAdministrator Version
Esempio per la Guida basata su commenti
<#
.<Ctrl-Space>
L'espansione del menu mostra le opzioni di parole chiave seguenti:
<#
.COMPONENT
COMPONENT EXTERNALHELP FUNCTIONALITY NOTES REMOTEHELPRUNSPACE
DESCRIPTION FORWARDHELPCATEGORY INPUTS OUTPUTS ROLE
EXAMPLE FORWARDHELPTARGETNAME LINK PARAMETER SYNOPSIS