about_Tab_Expansion

Krátký popis

PowerShell poskytuje dokončování na vstupu, které poskytují rady, umožňují zjišťování a urychlují zadávání vstupu. Názvy příkazů, názvy parametrů, hodnoty argumentů a cesty k souborům je možné dokončit stisknutím klávesy Tab .

Dlouhý popis

Rozšíření tabulátoru je řízeno interní funkcí TabExpansion2. Vzhledem k tomu, že tuto funkci lze upravit nebo přepsat, je tato diskuze průvodce chováním výchozí konfigurace PowerShellu.

Chování rozšíření tabulátoru lze také upravit pomocí funkce Prediktivní IntelliSense modulu PSReadLine. Další informace naleznete v tématu Prediktivní technologie IntelliSense.

Klávesa Tab je výchozí vazbou kláves ve Windows. Klávesové zkratky můžete změnit pomocí modulu PSReadLine nebo aplikace, která je hostitelem PowerShellu. Vazby klíčů se liší na platformách jiných než Windows. Další informace najdete v tématu about_PSReadLine.

Poznámka:

Jedním z omezení procesu rozšíření karty je, že karty jsou vždy interpretovány jako pokusy o dokončení slova. Pokud zkopírujete a vložíte příklady příkazů do konzoly PowerShellu, ujistěte se, že ukázka neobsahuje karty. Pokud ano, výsledky budou nepředvídatelné a téměř jistě nebudou tím, co jste chtěli.

Dokončení názvu souboru a rutiny

Pokud chcete automaticky vyplnit název souboru nebo cestu z dostupných voleb, zadejte část názvu a stiskněte klávesu Tab . PowerShell automaticky rozbalí název na první nalezenou shodu. Opakovaným stisknutím klávesy Tab prochází všechny dostupné volby.

Rozšíření karet názvů rutin se mírně liší. Pokud chcete pro název rutiny použít rozšíření tabulátoru, zadejte celou první část názvu (sloveso) a spojovník, který za ním následuje. Můžete vyplnit více názvu částečné shody. Pokud například zadáte get-co a stisknete klávesu Tab , PowerShell tuto rutinu Get-Command automaticky rozbalí. Všimněte si, že také změní písmena na jejich standardní formulář. Pokud znovu stisknete klávesu Tab , PowerShell ho nahradí jediným odpovídajícím názvem Get-Contentrutiny.

Poznámka:

Od PowerShellu 7.0 se také rozbalí zkrácené rutiny a funkce. Například i-psdf<tab> vrátí Import-PowerShellDataFile.

Dokončování tabulátoru funguje také při překladu aliasů PowerShellu a nativních spustitelných souborů.

Rozšíření tabulátoru můžete použít opakovaně na stejném řádku. Například rozšíření tabulátoru Get-Content u názvu rutiny můžete použít zadáním:

Příklady

PS> Get-Con<Tab>

Když stisknete klávesu Tab , příkaz se rozbalí na:

PS> Get-Content

Pak můžete částečně zadat cestu k souboru protokolu aktivní instalace a znovu použít rozšíření tabulátoru:

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

Když stisknete klávesu Tab , příkaz se rozbalí na:

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

PsReadLine má také funkci dokončování nabídky. Výchozí vazba kláves ve Windows je mezerník ctrl+.

PS> fore<Ctrl-Space>

Když stisknete klávesu Ctrl+, PowerShell zobrazí úplný seznam odpovídajících hodnot jako nabídku:

PS> foreach
foreach         ForEach-Object  foreach.cmd

V tomto příkladu se řetězec "fore" shoduje s foreach (alias PowerShellu), ForEach-Object (rutina) a foreach.cmd (nativní příkaz). Pomocí kláves se šipkami vyberte požadovanou hodnotu.

Dokončování argumentů parametru

Dokončování tabulátoru může také fungovat na dokončení argumentů parametrů. Pomocí klávesy Tab můžete cyklicky procházet seznamem možných hodnot, které jsou platné pro určitý parametr. Další informace najdete v tématu about_Functions_Argument_Completion.

Dokončení výčtu hodnoty

PowerShell 7.0 přidal podporu pro dokončování výčtů. Pomocí dokončování tabulátoru můžete vybrat požadovanou hodnotu kdekoli, kde použijete výčt. Příklad:

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

[Suits]$suit = 'c<Tab>

Výčtové hodnoty jsou řetězce, takže hodnota, která má být dokončena, musí začínat jedním nebo dvojitým uvozovkovým znakem.

Po stisknutí klávesy Tab se zobrazí následující výsledky:

[Suits]$suit = 'Clubs'

Dokončování tabulátoru funguje také s výčty .NET.

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

Stisknutím klávesy Tab dvakrát projdete dvěma hodnotami, které začínají písmenem S. Konečný výsledek je:

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

Od PowerShellu 7.0 bylo rozšíření tabulátoru přidáno pro hodnoty ValidateSet při přiřazování proměnné. Pokud jste například zadávali následující definici proměnné:

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

Když stisknete klávesu Tab , zobrazí se následující výsledek:

$flavor = 'Chocolate'

Dokončování tabulátoru pro klíčová slova založená na komentářích

Od PowerShellu 7.2 byla přidána podpora pro dokončování #requires parametrů pomocí tabulátoru a klíčových slov pro nápovědu založenou na komentářích.

Příklad příkazu #requires

#requires -<Ctrl-Space>

Rozšíření nabídky zobrazuje následující možnosti parametrů:

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

Příklad nápovědy založené na komentářích

<#
    .<Ctrl-Space>

Rozšíření nabídky zobrazuje následující možnosti klíčových slov:

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

Viz také