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 alle durch Drücken der Tab-Taste vervollständigt 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.
Diese 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 hat die Tab-Vervollständigung für viele Aspekte der Befehlszeilenerfahrung aktiviert.
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 beispielsweise get-co
eingeben und dann die Tab-Taste drücken, erweitert PowerShell diese automatisch auf das Get-Command
-Cmdlet (beachten Sie, dass auch die Groß-/Kleinschreibung von Buchstaben in das Standardformular geändert wird). Wenn Sie erneut TAB-taste drücken, ersetzt PowerShell dies durch den einzigen anderen übereinstimmenden Cmdlet-Namen, 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-PowerShellDataFile
zurück
PowerShell 7.2
- Behebung der Tab-Vervollständigung für nicht lokalisierte
about*
Themen - 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
#Requires
Anweisungen 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
break
undcontinue
hinzugefü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 es, nicht standardmäßige Klassenkonstruktoren anzuzeigen, 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 der Werte, die angezeigt werden sollen, wenn der Benutzer die TAB-TASTE hinter dem Parameternamen drückt. Im Gegensatz dazu ValidateSet
werden 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. So können Sie Argumentvervollständiger außerhalb des Skripts oder Moduls oder für native Befehle 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.