Použití dokončování tabulátoru v prostředí
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 .
Klávesa Tab je výchozí vazbou kláves ve Windows. PSReadLine také poskytuje MenuComplete
funkci, která je vázaná na mezerník ctrl+. Funkce MenuComplete
zobrazí seznam odpovídajících dokončení pod příkazovým řádkem.
Tyto klávesové zkratky je možné změnit pomocí rutin PSReadLine nebo aplikace, která je hostitelem PowerShellu. Klávesové zkratky se můžou lišit na platformách jiných než Windows. Další informace najdete v tématu about_PSReadLine_Functions.
Předdefinované funkce dokončování karet
PowerShell povolil dokončování tabulátoru pro mnoho aspektů prostředí příkazového řádku.
Dokončování názvu souboru
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. Opětovným stisknutím klávesy Tab můžete procházet všechny dostupné volby stisknutím klávesy.
Dokončení názvu příkazu a parametru
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 ho Get-Command
automaticky rozbalí do rutiny (všimněte si, že také změní velikost písmen na standardní formulář). Pokud znovu stisknete klávesu Tab , PowerShell ho nahradí jediným odpovídajícím názvem Get-Content
rutiny. Dokončování tabulátoru funguje také pro překlad aliasů PowerShellu a nativních spustitelných souborů.
Následující obrázek ukazuje příklady dokončení tabulátoru a nabídky.
Další vylepšení dokončování tabulátoru
Každá nová verze PowerShellu zahrnuje vylepšení dokončování karet, která opravují chyby a zlepšují použitelnost.
PowerShell 7.0
- Dokončování tabulátoru řeší přiřazení proměnných, která jsou výčty nebo jsou omezené.
- Dokončování tabulátoru rozšiřuje zkrácené rutiny a funkce. Například vrátí hodnotu.
i-psdf<tab>
Import-PowerShellDataFile
PowerShell 7.2
- Oprava dokončování tabulátoru pro nelokalizovaná
about*
témata - Oprava splattingu, který se při dokončování považuje za poziční parametr
- Přidání dokončování klíčových slov nápovědy založené na komentářích
- Přidání dokončování pro
#requires
příkazy - Přidání dokončování tabulátoru pro zobrazení parametru
Format-*
rutin - Přidání podpory pro dokončování argumentů založených na třídách
PowerShell 7.3
- Oprava dokončování tabulátoru v bloku skriptu určeném pro
ValidateScriptAttribute
- Přidání dokončování tabulátoru pro popisky smyček za
break
acontinue
- Vylepšení dokončování hashovací tabulky v několika scénářích
- Splatting parametru
- Argumenty parametru pro
Invoke-CimMethod
- Parametr FilterHashtable pro
Get-WinEvent
- Parametr vlastnosti pro rutiny CIM
- Odebere duplicity ze scénářů dokončení členů.
- Podpora lomítek v dokončení cesty UNC (Network Share Share)
- Vylepšení automatického dokončování členů
- Stanovení
ValidateSet
priorit dokončení před výčty pro parametry - Přidání podpory odvozování typů pro obecné metody s parametry typu
- Vylepšení odvozování a dokončování typů
- Umožňuje zobrazení metod ve výsledcích dokončení pro
ForEach-Object -MemberName
- Zabraňuje dokončení u výrazů, které vracejí void jako (
[void]("")
) - Umožňuje, aby se konstruktory třídy, které nejsou výchozí, zobrazovaly při dokončování třídy založené na AST.
- Umožňuje zobrazení metod ve výsledcích dokončení pro
Další způsoby, jak vylepšit dokončování parametrů příkazů pomocí tabulátoru
Předdefinované rozšíření karty je řízeno interní funkcí TabExpansion nebo TabExpansion2. Je možné vytvořit funkce nebo moduly, které nahrazují výchozí chování těchto funkcí. Příklady najdete v Galerie prostředí PowerShell vyhledáním klíčového slova TabExpansion.
ValidateSet
Použití atributů ArgumentCompletions
s parametry
Atribut ArgumentCompletions
umožňuje přidat hodnoty dokončení tabulátoru do konkrétního parametru.
Atribut ArgumentCompletions
je podobný ValidateSet
. Oba atributy přebíjí seznam hodnot, které se zobrazí, když uživatel po názvu parametru stiskne klávesu Tab . Na rozdíl od ValidateSet
hodnoty se ale neověřují.
Další informace naleznete v tématu:
Použití atributu ArgumentCompleter
nebo Register-ArgumentCompleter
parametrů
Dokončování argumentů je blok skriptu nebo funkce, která poskytuje dynamické dokončování tabulátoru pro hodnoty parametrů.
Atribut ArgumentCompleter
umožňuje zaregistrovat funkci, která poskytuje hodnoty dokončení tabulátoru pro parametr. Funkce dokončování argumentů musí být k dispozici pro funkci obsahující parametr s atributem ArgumentCompleter
. Funkce je obvykle definována ve stejném skriptu nebo modulu.
Další informace naleznete v tématu ArgumentCompleter.
Rutina Register-ArgumentCompleter
zaregistruje blok skriptu jako funkci dokončování argumentů za běhu pro libovolný zadaný příkaz. To vám umožní definovat dokončování argumentů mimo skript nebo modul nebo pro nativní příkazy. Další informace naleznete v tématu Register-ArgumentCompleter.
Prediktivní IntelliSense v PSReadLine
PSReadLine 2.1.0 zavedl funkci Prediktivní IntelliSense . Prediktivní IntelliSense poskytuje návrhy pro úplné příkazy založené na položkách z historie psReadLine .
PSReadLine 2.2.2 rozšiřuje možnosti prediktivní technologie IntelliSense přidáním podpory modulů plug-in, které používají pokročilou logiku k poskytování návrhů pro úplné příkazy. Modul Az.Tools.Predictor byl prvním modulem plug-in prediktivní technologie IntelliSense. Používá machine Učení k predikci toho, jaký příkaz Azure PowerShellu chcete spustit, a parametrů, které chcete použít.
Další informace najdete v tématu Použití prediktorů.