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-Contentrutiny. 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.

Příklady dokončování karet a nabídek

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 a continue
  • 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.

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 ValidateSethodnoty 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ů.