Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
PowerShell tillhandahåller kompletteringar av indata för att ge tips, aktivera identifiering och påskynda inmatning. Kommandonamn, parameternamn, argumentvärden och filsökvägar kan alla slutföras genom att trycka på Tabbtangenten.
Den Tab-tangenten är standardtangentbindningen på Windows.
PSReadLine innehåller också en MenuComplete funktion som är bunden till Ctrl+blanksteg. Funktionen MenuComplete visar en lista över matchande slutföranden under kommandoraden.
Dessa nyckelbindningar kan ändras med PSReadLine-cmdletar eller programmet som är värd för PowerShell. Nyckelbindningar kan vara olika på plattformar som inte är Windows. Mer information finns i about_PSReadLine_Functions.
Inbyggda funktioner för flikkomplettering
PowerShell har möjliggjort autokomplettering med tab för många aspekter av kommandoradsmiljön.
Filnamn har slutförts
Om du vill fylla i ett filnamn eller sökväg från de tillgängliga alternativen automatiskt skriver du en del av namnet och trycker på Tabb-tangenten. PowerShell expanderar automatiskt namnet till den första matchningen som hittas. Om du trycker på tabbtangenten igen går du igenom alla tillgängliga alternativ med varje tangenttryckning.
Slutförande av kommando- och parameternamn
Flikexpansionen av cmdlet-namn skiljer sig något. Om du vill använda flikexpansion på ett cmdlet-namn skriver du hela den första delen av namnet (verbet) och bindestrecket som följer. Du kan ange mer av namnet för en delvis matchning. Om du till exempel skriver get-co och sedan trycker på tabbtangenten expanderar PowerShell automatiskt detta till cmdleten Get-Command (observera att det också ändrar skiftläget för bokstäver till deras standardformulär). Om du trycker på Tabb tangenten igen ersätter PowerShell detta med det enda andra matchande cmdletnamnet Get-Content. Tabbavslut fungerar också för att lösa PowerShell-alias och inbyggda körbara filer.
Följande bild visar exempel på flik- och menykomplettering.
Andra förbättringar av flikkomplettering
Varje ny version av PowerShell innehåller förbättringar av flikkomplettering som åtgärdar buggar och förbättrar användbarheten.
PowerShell 7.0
- Tabbkomplettering löser variabeltilldelningar som är enummer eller typbegränsade.
- Tabbavslut expanderar förkortade cmdletar och funktioner. Till exempel returnerar
i-psdf<tab>Import-PowerShellDataFile
PowerShell 7.2
- Åtgärda att fliken har slutförts för oallokerade
about*ämnen - Åtgärda att splatting behandlas som positionsparameter i autokompletteringar
- Lägg till fullbordanden för kommentarsbaserade hjälpnyckelord
- Lägg till komplettering för
#Requiressatser - Lägg till flikkomplettering för Visa-parametern för
Format-*cmdletar - Lägg till stöd för klassbaserade argumentkompletterare
PowerShell 7.3
- Åtgärda tabbkomplettering i skriptblocket som angetts för
ValidateScriptAttribute - Tabbkomplettering har lagts till för loopetiketter efter
breakochcontinue - Förbättra hashtabellslutförande i flera scenarier
- Parameterspridning
-
Argumentparameter för
Invoke-CimMethod -
FilterHashtable-parameter för
Get-WinEvent - Egenskapsparameter för CIM-cmdletar
- Tar bort dubbletter från scenarier för fullföljande av medlemskap
- Stöd för snedstreck i nätverksresursers slutförande (UNC-sökväg)
- Förbättra automatisk ifyllnad för medlemmar
- Prioritera
ValidateSetkompletteringar framför uppräkningar för parametrar - Lägga till typinferensstöd för generiska metoder med typparametrar
- Förbättra typinferens och slutföranden
- Tillåter att metoder visas i slutföranderesultat för
ForEach-Object -MemberName - Förhindrar slutförande av uttryck som returnerar tomrum som (
[void]("")) - Tillåter att icke-standardklasskonstruktorer visas när klassavslutningen baseras på AST
- Tillåter att metoder visas i slutföranderesultat för
Andra sätt att förbättra flikens slutförande av kommandoparametrar
Den inbyggda flikexpansionen styrs av den interna funktionen TabExpansion eller TabExpansion2. Det är möjligt att skapa funktioner eller moduler som ersätter standardbeteendet för dessa funktioner. Du kan hitta exempel i PowerShell-galleriet genom att söka efter nyckelordet TabExpansion .
Använda attributen ValidateSet eller ArgumentCompletions med parametrar
Med ArgumentCompletions attributet kan du lägga till tabbavslutsvärden till en specifik parameter.
Attributet ArgumentCompletions liknar ValidateSet. Båda attributen tar en lista med värden som ska visas när användaren trycker på Tabb efter parameternamnet. Men till skillnad från ValidateSetverifieras inte värdena.
Mer information finns i:
Använda attributet ArgumentCompleter eller Register-ArgumentCompleter med parametrar
En argumentemplementerare är ett skriptblock eller en funktion som tillhandahåller dynamisk flikavslutning för parametervärden.
Med ArgumentCompleter attributet kan du registrera en funktion som innehåller tabbavslutsvärden för parametern. Funktionen för att slutföra argumentet måste vara tillgänglig för funktionen som innehåller parametern med attributet ArgumentCompleter . Vanligtvis definieras funktionen i samma skript eller modul.
Mer information finns i ArgumentCompleter.
Cmdleten Register-ArgumentCompleter registrerar ett skriptblock som en argumentkompletterare-funktion i körningstid för valfritt kommando som du anger. På så sätt kan du definiera argument completers utanför skriptet eller modulen eller för interna kommandon. Mer information finns i Register-ArgumentCompleter.
Predictive IntelliSense i PSReadLine
PSReadLine 2.1.0 introducerade funktionen Predictive IntelliSense . Predictive IntelliSense innehåller förslag på fullständiga kommandon baserat på objekt från PSReadLine-historiken .
PSReadLine 2.2.2 utökar kraften i Predictive IntelliSense genom att lägga till stöd för plugin-moduler som använder avancerad logik för att ge förslag på fullständiga kommandon. Modulen Az.Tools.Predictor var det första plugin-programmet för Predictive IntelliSense. Den använder Machine Learning för att förutsäga vilket Azure PowerShell-kommando du vill köra och vilka parametrar du vill använda.
Mer information finns i Använda prediktorer.