Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
PowerShell bietet Vervollständigungen für Eingaben, um Hinweise bereitzustellen, Entdeckungen zu fördern und die Eingabe zu beschleunigen. Befehlsnamen, Parameternamen, Argumentwerte und Dateipfade können durch Drücken der TAB-TASTE abgeschlossen werden.
Die TAB-TASTE ist die Standardtastenzuordnung unter Windows.
PSReadLine stellt auch eine MenuComplete Funktion bereit, die an STRG+LEERTASTE gebunden ist. Die MenuComplete Funktion zeigt eine Liste der übereinstimmenden Fertigstellungen unterhalb der Befehlszeile an.
Die Keybindings können mithilfe von PSReadLine-Cmdlets oder der Anwendung geändert werden, die PowerShell hostet. Keybindings können auf Nicht-Windows-Plattformen unterschiedlich sein. Weitere Informationen finden Sie unter about_PSReadLine_Functions.
Integrierte Tab-Vervollständigungsfunktionen
PowerShell ermöglicht die Tab-Vervollständigung für viele Aspekte der Befehlszeilenerfahrung.
Abschluss des Dateinamens
Wenn Sie einen Dateinamen oder Pfad aus den verfügbaren Optionen automatisch eingeben möchten, geben Sie einen Teil des Namens ein, und drücken Sie TAB Taste. PowerShell vervollständigt den Namen automatisch entsprechend der ersten gefundenen Übereinstimmung. Durch drücken der TAB-TASTE werden alle verfügbaren Optionen mit jeder Taste erneut durchlaufen.
Vervollständigung von Befehls- und Parameternamen
Die Tab-Erweiterung von Cmdlet-Namen unterscheidet sich geringfügig. Wenn Sie die Tab-Erweiterung für einen Cmdlet-Namen verwenden möchten, geben Sie den gesamten ersten Teil des Namens (das Verb) und den darauf folgenden Bindestrich ein. Sie können weitere Zeichen des Namens für eine Teilübereinstimmung eingeben. Wenn Sie z. B. etwas eingeben und dann die Tab-Taste drücken, erweitert PowerShell automatisch Ihre Eingabe zu dem Get-Command-Cmdlet (beachten Sie, dass auch die Groß- und Kleinschreibung der Buchstaben in ihre Standardform geändert wird). Wenn Sie erneut die TAB-TASTE drücken, ersetzt PowerShell sie durch das nächste übereinstimmende Cmdlet. Get-Content Die Tab-Vervollständigung funktioniert auch, um PowerShell-Aliase und native ausführbare Dateien aufzulösen.
Die folgende Abbildung zeigt Beispiele für die Vervollständigung von Registerkarten und Menüs.
Weitere Verbesserungen bei der Tab-Vervollständigung
Jede neue Version von PowerShell enthält Verbesserungen am Abschluss der Registerkarte, die Fehler beheben und die Benutzerfreundlichkeit verbessern.
PowerShell 7.0
- Die Tab-Vervollständigung löst Variablenzuweisungen auf, die Enumerationen sind oder typenbeschränkt sind.
- Die Tab-Vervollständigung erweitert abgekürzte Cmdlets und Funktionen. Beispiel:
i-psdf<tab>gibtImport-PowerShellDataFilezurück
PowerShell 7.2
- Beheben der Tab-Vervollständigung für nicht lokalisierte
about*Elemente - Behebung des Problems, dass Splatting als Positionsparameter in Vervollständigungen behandelt wird
- Hinzufügen von Ergänzungen für kommentarbasierte Hilfeschlüsselwörter
- Vervollständigung für
#RequiresAnweisungen hinzufügen - Hinzufügen der Tab-Vervollständigung für den Ansichtsparameter von cmdlets
- Unterstützung für klassenbasierte Argumentvervollständiger hinzufügen
PowerShell 7.3
- Korrigiere die Tab-Vervollständigung im angegebenen Skriptblock für den
ValidateScriptAttribute - Tab-Vervollständigung für Schleifenetiketten nach
breakundcontinuehinzugefügt - Verbessern der Hashtabelle-Vervollständigung in mehreren Szenarien
- Parameterübertragung
-
Arguments-Parameter für
Invoke-CimMethod -
FilterHashtable-Parameter für
Get-WinEvent - Eigenschaftsparameter für die CIM-Cmdlets
- Entfernt Duplikate aus Abschlussszenarien von Mitgliedern
- Unterstützung von Schrägstrichen bei der Vervollständigung von Netzwerkfreigaben (UNC-Pfad)
- Verbesserung der automatischen Vervollständigung von Mitgliedern
- Priorisieren Sie
ValidateSet-Completions vor Enumerationen für Parameter - Unterstützung für die Typinferenz bei generischen Methoden mit Typparametern hinzufügen
- Verbesserung der Typinferenz und Vervollständigungen
- Ermöglicht das Anzeigen von Methoden in Abschlussergebnissen für
ForEach-Object -MemberName - Verhindert den Abschluss von Ausdrücken, die "void " zurückgeben, wie (
[void]"") - Ermöglicht nicht standardmäßigen Klassenkonstruktoren die Anzeige, wenn der Klassenabschluss auf dem AST basiert.
- Ermöglicht das Anzeigen von Methoden in Abschlussergebnissen für
Weitere Möglichkeiten zur Verbesserung der Tab-Vervollständigung von Befehlsparametern
Die integrierte Registerkartenerweiterung wird durch die interne Funktion TabExpansion oder TabExpansion2 gesteuert. Es ist möglich, Funktionen oder Module zu erstellen, die das Standardverhalten dieser Funktionen ersetzen. Sie finden Beispiele im PowerShell-Katalog, indem Sie nach dem Schlüsselwort "TabExpansion" suchen.
Verwenden der ValidateSet Attribute mit ArgumentCompletions Parametern
Mit dem ArgumentCompletions Attribut können Sie einem bestimmten Parameter Tab-Vervollständigungswerte hinzufügen.
Das ArgumentCompletions Attribut ist ähnlich wie ValidateSet. Beide Attribute verwenden eine Liste von Werten, die angezeigt werden sollen, wenn der Benutzer nach dem Parameternamen TAB- drückt. Im Gegensatz dazu ValidateSetwerden die Werte jedoch nicht überprüft.
Weitere Informationen finden Sie unter:
Verwenden des Attributs ArgumentCompleter oder Register-ArgumentCompleter mit Parametern
Ein Argumentvervollständiger ist ein Skriptblock oder eine Funktion, das eine dynamische Tab-Vervollständigung für Parameterwerte bereitstellt.
Mit dem ArgumentCompleter Attribut können Sie eine Funktion registrieren, die Vervollständigungswerte für den Parameter bereitstellt. Die Argument completer-Funktion muss für die Funktion verfügbar sein, die den Parameter mit dem ArgumentCompleter Attribut enthält. In der Regel wird die Funktion in demselben Skript oder Modul definiert. Weitere Informationen finden Sie unter ArgumentCompleter.
Das Register-ArgumentCompleter-Cmdlet registriert zur Laufzeit einen Skriptblock als Argumentvervollständiger-Funktion für jeden von Ihnen angegebenen Befehl. Die Verwendung von Register-ArgumentCompleter ermöglicht es Ihnen, Argumentvervollständiger außerhalb des Skripts oder Moduls sowie für native Befehle zu definieren. Weitere Informationen finden Sie unter Register-ArgumentCompleter-.
Predictive IntelliSense in PSReadLine
PSReadLine 2.1.0 hat das Predictive IntelliSense-Feature eingeführt. Predictive IntelliSense bietet Vorschläge für vollständige Befehle basierend auf Elementen aus Ihrem PSReadLine-Verlauf .
PSReadLine 2.2.2 erweitert die Leistungsfähigkeit von Predictive IntelliSense durch Hinzufügen von Unterstützung für Plug-In-Module, die erweiterte Logik verwenden, um Vorschläge für vollständige Befehle bereitzustellen. Das Az.Tools.Predictor-Modul war das erste Plug-In für Predictive IntelliSense. Es verwendet Machine Learning, um vorherzusagen, welchen Azure PowerShell-Befehl Sie ausführen möchten, und die Parameter, die Sie verwenden möchten.
Weitere Informationen finden Sie unter Verwenden von Prädiktoren.