Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
PowerShell biedt voltooiingen voor invoer om hints te bieden, detectie in te schakelen en invoerinvoer te versnellen. Opdrachtnamen, parameternamen, argumentwaarden en bestandspaden kunnen allemaal worden voltooid door op de Tab-toets te drukken.
De Tab--toets is de standaardsleutelbinding in Windows.
PSReadLine biedt ook een MenuComplete functie die afhankelijk is van Ctrl-spatiebalk+. De functie MenuComplete geeft een lijst weer met overeenkomende voltooiingen onder de opdrachtregel.
De sleutelbindingen kunnen worden gewijzigd met behulp van PSReadLine-cmdlets of de toepassing die als host fungeert voor PowerShell. Sleutelbindingen kunnen verschillen op niet-Windows-platforms. Zie about_PSReadLine_Functionsvoor meer informatie.
Ingebouwde functies voor het voltooien van tabbladen
PowerShell maakt het voltooien van tabbladen mogelijk voor veel aspecten van de opdrachtregelervaring.
Voltooiing van bestandsnaam
Als u automatisch een bestandsnaam of pad wilt invullen vanuit de beschikbare opties, typt u een deel van de naam en drukt u op de Tab--toets. PowerShell breidt de naam automatisch uit naar de eerste overeenkomst die het vindt. Wanneer u opnieuw op de toets Tab drukt, wordt er met elke druk een nieuwe beschikbare optie doorlopen.
Voltooiing van opdracht- en parameternaam
De tabuitbreiding van cmdlet-namen is iets anders. Als u tabuitbreiding wilt gebruiken voor een cmdlet-naam, typt u het hele eerste deel van de naam (het werkwoord) en het afbreekstreepje dat erop volgt. U kunt meer van de naam intypen om een gedeeltelijke overeenkomst te krijgen. Als u bijvoorbeeld get-co typt en vervolgens op de Tab-toets drukt, toont PowerShell automatisch de volledige Get-Command-cmdlet, waarbij ook de hoofdletters worden aangepast naar de standaardvorm. Als u nogmaals op de Tab-toets drukt, vervangt PowerShell deze door de volgende overeenkomende cmdlet. Get-Content Tabvoltooiing werkt ook om PowerShell-aliassen en systeemeigen uitvoerbare bestanden op te lossen.
In de volgende afbeelding ziet u voorbeelden van het voltooien van tabbladen en menu's.
voorbeelden van 
Andere verbeteringen voor het voltooien van tabbladen
Elke nieuwe versie van PowerShell bevat verbeteringen in het voltooien van tabbladen waarmee bugs worden opgelost en de bruikbaarheid wordt verbeterd.
PowerShell 7.0
- Met tabvoltooiing worden variabelentoewijzingen opgelost die enums zijn of een typebeperking hebben.
- Met tabvoltooiing worden verkorte cmdlets en functies uitgebreid.
i-psdf<tab>retourneert bijvoorbeeldImport-PowerShellDataFile
PowerShell 7.2
- Tabbladvoltooiing voor niet-gelokaliseerde
about*artikelen oplossen - Los het probleem op waarbij splatting als positionele parameter in voltooiingen wordt behandeld
- Voltooiingen toevoegen voor Help-trefwoorden op basis van opmerkingen
- Voltooiing voor
#Requires-instructies toevoegen - Tabbladvoltooiing toevoegen voor weergave- parameter van
Format-*cmdlets - Ondersteuning toevoegen voor op klassen gebaseerde argumentvervolledigers
PowerShell 7.3
- Tabbladvoltooiing herstellen in het scriptblok dat is opgegeven voor de
ValidateScriptAttribute - Automatische tabvoltooiing toegevoegd voor loop labels na
breakencontinue - Verbeter de voltooiing van hash-tabels in meerdere scenario's.
- Parameter-splatting
-
Parameter Argumenten voor
Invoke-CimMethod -
FilterHashtable-parameter voor
Get-WinEvent - Eigenschapsparameter voor de CIM-cmdlets
- Verwijdert duplicaten uit voltooiingsscenario's voor leden
- Ondersteuning voor slashes in voltooiing van netwerkshare (UNC-pad)
- Automatische voltooiing van leden verbeteren
- Prioriteit geven aan
ValidateSet-voltooiingen boven enums bij parameters - Ondersteuning voor typedeductie toevoegen voor algemene methoden met typeparameters
- Typedeductie en voltooiingen verbeteren
- Hiermee kunnen methoden worden weergegeven in voltooiingsresultaten voor
ForEach-Object -MemberName - Voorkomt voltooiing van expressies die void retourneren, zoals (
[void]"") - Hiermee kunnen niet-standaardklasseconstructors worden weergegeven wanneer klassevoltooiing is gebaseerd op de AST
- Hiermee kunnen methoden worden weergegeven in voltooiingsresultaten voor
Andere manieren om tabvoltooiing van opdrachtparameters te verbeteren
Ingebouwde tabuitbreiding wordt beheerd door de interne functie TabExpansion of TabExpansion2. Het is mogelijk om functies of modules te maken die het standaardgedrag van deze functies vervangen. U vindt voorbeelden in de PowerShell Gallery door te zoeken naar het trefwoord TabExpansion.
De kenmerken ValidateSet of ArgumentCompletions met parameters gebruiken
Met het kenmerk ArgumentCompletions kunt u tabvoltooiingswaarden toevoegen aan een specifieke parameter.
Het kenmerk ArgumentCompletions is vergelijkbaar met ValidateSet. Bij beide kenmerken wordt een lijst met waarden weergegeven wanneer de gebruiker op Tab drukt na de parameternaam. In tegenstelling tot ValidateSetworden de waarden echter niet gevalideerd.
Zie voor meer informatie:
Het kenmerk ArgumentCompleter of Register-ArgumentCompleter met parameters gebruiken
Een argument completer is een scriptblok of functie die dynamische tabvoltooiing biedt voor parameterwaarden.
Met het kenmerk ArgumentCompleter kunt u een functie registreren die tabvoltooiingswaarden voor de parameter biedt. De functie argument completer moet beschikbaar zijn voor de functie met de parameter met het kenmerk ArgumentCompleter. Meestal wordt de functie gedefinieerd in hetzelfde script of dezelfde module. Zie ArgumentCompletervoor meer informatie.
De Register-ArgumentCompleter cmdlet registreert een scriptblok als argument completer functie tijdens runtime voor elke opdracht die u opgeeft. Met behulp Register-ArgumentCompleter kunt u argument completers definiëren buiten het script of de module of voor systeemeigen opdrachten. Zie Register-ArgumentCompletervoor meer informatie.
Voorspellende IntelliSense in PSReadLine
PSReadLine 2.1.0 heeft de functie Predictive IntelliSense geïntroduceerd. Predictive IntelliSense biedt suggesties voor volledige opdrachten op basis van items uit uw PSReadLine geschiedenis.
PSReadLine 2.2.2 breidt de kracht van Predictive IntelliSense uit door ondersteuning toe te voegen voor invoegtoepassingsmodules die gebruikmaken van geavanceerde logica om suggesties voor volledige opdrachten te bieden. De module Az.Tools.Predictor was de eerste invoegtoepassing voor Predictive IntelliSense. Machine Learning wordt gebruikt om te voorspellen welke Azure PowerShell-opdracht u wilt uitvoeren en welke parameters u wilt gebruiken.
Zie Gebruik van predictorsvoor meer informatie.