Freigeben über


about_Tab_Expansion

Kurze Beschreibung

Durch die Vervollständigung der Eingaben erleichtert PowerShell das Bereitstellen von Hinweisen, das Aktivieren von Ermittlungen und das Beschleunigen der Eingabe. Mit der TAB-TASTE können Sie Befehlsnamen, Parameternamen, Argumentwerte und Dateipfade rasch vervollständigen.

Lange Beschreibung

Die Tabstopperweiterung wird durch die interne Funktion TabExpansion2 gesteuert. Da diese Funktion geändert oder überschrieben werden kann, ist diese Erläuterung eine Anleitung für das Verhalten der Standardkonfiguration von PowerShell.

Das Verhalten der Registerkartenerweiterung kann auch durch das Feature Predictive IntelliSense des PSReadLine-Moduls geändert werden. Weitere Informationen finden Sie unter Predictive IntelliSense.

Die TAB-TASTE ist die Standardtastenzuordnung unter Windows. Sie können die Keybinding mithilfe des PSReadLine-Moduls oder der Anwendung ändern, die PowerShell hosten. Die Schlüsselbindung unterscheidet sich auf Nicht-Windows-Plattformen. Weitere Informationen finden Sie unter about_PSReadLine.

Hinweis

Eine Einschränkung für Erweiterung mit der TAB-TASTE besteht darin, dass Tabulatorzeichen immer als Versuche interpretiert werden, ein Wort zu vervollständigen. Wenn Sie Befehlsbeispiele kopieren und in eine PowerShell-Konsole einfügen, stellen Sie sicher, dass das Beispiel keine Registerkarten enthält. Wenn dies der Fall ist, werden die Ergebnisse unvorhersehbar sein und mit ziemlicher Sicherheit nicht das sein, was Sie beabsichtigt haben.

Vervollständigung des Datei- und Cmdletnamens

Soll ein Dateiname oder Pfad automatisch aus den verfügbaren Optionen ausgefüllt werden, geben Sie einen Teil des Namens ein, und drücken Sie die TAB-TASTE. PowerShell vervollständigt den Namen automatisch entsprechend der ersten gefundenen Übereinstimmung. Durch drücken der TAB-TASTE werden alle verfügbaren Optionen wiederholt durchlaufen.

Für Cmdletnamen funktioniert Erweiterung mit der TAB-TASTE etwas anders. Um Erweiterung mit der TAB-TASTE für einen Cmdletnamen zu verwenden, 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. eingeben get-co und dann die TAB-TASTE drücken, erweitert PowerShell dies automatisch auf das Get-Command Cmdlet. Beachten Sie, dass auch die Groß-/Kleinschreibung von Buchstaben in die Standardform geändert wird. Wenn Sie die TAB-TASTE erneut drücken, ersetzt PowerShell diesen Cmdletnamen durch den einzigen anderen passenden Cmdletnamen, Get-Content.

Hinweis

Ab PowerShell 7.0 erweitert Tab auch abgekürzte Cmdlets und Funktionen. i-psdf<tab> gibt beispielsweise Import-PowerShellDataFile zurück.

Die Tabstopp-Vervollständigung funktioniert auch, um PowerShell-Alias und native ausführbare Dateien aufzulösen.

Sie können Erweiterung mit der TAB-TASTE wiederholt in derselben Zeile verwenden. Beispielsweise können Sie die Erweiterung mit der TAB-TASTE für den Namen des Cmdlets Get-Content verwenden, indem Sie Folgendes eingeben:

Beispiele

PS> Get-Con<Tab>

Wenn Sie die TAB-TASTE drücken, wird der Befehlsname erweitert zu:

PS> Get-Content

Sie können dann den Pfad zur Protokolldatei für das aktive Setup teilweise eingeben und erneut Erweiterung mit der TAB-TASTE verwenden:

PS> Get-Content c:\windows\acts<Tab>

Wenn Sie die TAB-TASTE drücken, wird der Befehlsname erweitert zu:

PS> Get-Content C:\windows\actsetup.log

PSReadLine verfügt auch über eine Funktion zum Vervollständigen von Menüs. Die Standardtastenbindung unter Windows ist STRG+LEERTASTE.

PS> fore<Ctrl-Space>

Wenn Sie STRG+LEERTASTE drücken, zeigt PowerShell die vollständige Liste der übereinstimmenden Werte als Menü an:

PS> foreach
foreach         ForEach-Object  foreach.cmd

In diesem Beispiel wird die Zeichenfolge "fore" mit (PowerShell-Alias), ForEach-Object (Cmdlet) und foreach.cmd (nativer Befehl) abgeglichen foreach . Verwenden Sie die Pfeiltasten, um den gewünschten Wert auszuwählen.

Vervollständigung des Parameterarguments

Die Tabstopp-Vervollständigung kann auch zum Abschließen von Parameterargumenten verwendet werden. Sie können die TAB-TASTE verwenden, um eine Liste möglicher Werte zu durchlaufen, die für einige Parameter gültig sind. Weitere Informationen finden Sie unter about_Functions_Argument_Completion.

Vervollständigung des aufgezählten Werts

PowerShell 7.0 hat Unterstützung für die Vervollständigung von Enumerationen mit Registerkarten hinzugefügt. Sie können die Tabstopp-Vervollständigung verwenden, um den gewünschten Wert überall dort auszuwählen, wo Sie eine Enumeration verwenden. Beispiel:

enum Suits {
    Clubs = 0
    Diamonds = 1
    Hearts = 2
    Spades = 3
}

[Suits]$suit = 'c<Tab>

Enumerierte Werte sind Zeichenfolgen, sodass der zu erledigende Wert mit einem einfachen oder doppelten Anführungszeichen beginnen muss.

Wenn Sie die TAB-TASTE drücken, erhalten Sie die folgenden Ergebnisse:

[Suits]$suit = 'Clubs'

Die Vervollständigung der Registerkarte funktioniert auch mit .NET-Enumerationen.

[System.IO.FileAttributes]$attr = 'S<Tab><Tab>

Wenn Sie zweimal die TAB-TASTE drücken, durchlaufen Sie die beiden Werte, die mit dem Buchstaben Sbeginnen. Das Endergebnis ist:

[System.IO.FileAttributes]$attr = 'System'

Ab PowerShell 7.0 wurde die Registerkartenerweiterung für die Werte von ValidateSet beim Zuweisen zu einer Variablen hinzugefügt. Wenn Sie beispielsweise die folgende Variablendefinition eingegeben haben:

[ValidateSet('Chocolate', 'Strawberry', 'Vanilla')]
[string]$flavor = 'Strawberry'
$flavor = <tab>

Wenn Sie die TAB-TASTE drücken, erhalten Sie das folgende Ergebnis:

$flavor = 'Chocolate'

Tabstoppvervollständigungen für kommentarbasierte Schlüsselwörter

Ab PowerShell 7.2 wurde Unterstützung für die Tabstoppvervollständigung der #requires Parameter und der Schlüsselwörter für die kommentarbasierte Hilfe hinzugefügt.

Beispiel für #requires -Anweisung

#requires -<Ctrl-Space>

Die Menüerweiterung zeigt die folgenden Parameteroptionen an:

#requires -<Ctrl-Space>
Modules     PSEdition     RunAsAdministrator    Version

Beispiel für kommentarbasierte Hilfe

<#
    .<Ctrl-Space>

Die Menüerweiterung zeigt die folgenden Schlüsselwort (keyword) Optionen:

 <#
    .COMPONENT
COMPONENT      EXTERNALHELP           FUNCTIONALITY     NOTES         REMOTEHELPRUNSPACE
DESCRIPTION    FORWARDHELPCATEGORY    INPUTS            OUTPUTS       ROLE
EXAMPLE        FORWARDHELPTARGETNAME  LINK              PARAMETER     SYNOPSIS

Weitere Informationen