Sdílet prostřednictvím


Použití automatického dokončování pomocí tabulátoru v příkazovém řádku

PowerShell nabízí automatické doplňování, které poskytuje nápovědu, podporuje orientaci a zrychluje zadávání příkazů. 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 tabulátoru je výchozí vazbou kláves ve Windows. PSReadLine také poskytuje funkci vázanou na klávesy Ctrl+mezerník. Funkce MenuComplete zobrazí seznam odpovídajících dokončení pod příkazovým řádkem.

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.

Vestavěné funkce dokončování záložek

PowerShell umožňuje dokončování tabulátoru pro mnoho aspektů prostředí příkazového řádku.

Dokončování názvu souboru

Pokud chcete vyplnit název souboru nebo cestu z dostupných voleb automaticky, zadejte část názvu a stiskněte klávesu Tab. PowerShell automaticky rozšíří název na první shodu, kterou najde. Opětovným stisknutím klávesy Tab můžete procházet všechny dostupné volby.

Dokončení názvu příkazu a parametru

Rozšíření názvů cmdlet při použití tabulátoru 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 z názvu pro částečnou shodu. Pokud například zadáte get-co a stisknete klávesu Tab, PowerShell automaticky rozšíří to, co jste zadali, na Get-Command cmdlet (všimněte si, že také změní velikost písmen na jejich standardní podobu). Pokud znovu stisknete klávesu Tab , PowerShell ho nahradí další odpovídající rutinou Get-Content. Dokončování tabulátoru také funguje pro rozlišení aliasů PowerShellu a nativních spustitelných souborů.

Následující obrázek ukazuje příklady dokončení záložek a menu.

Příklady dokončování nabídek a záložek

Další vylepšení dokončování tabulátoru

Každá nová verze PowerShellu zahrnuje vylepšení automatického dokončování, 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é.
  • Doplňování pomocí tabulátoru rozvíjí zkrácené cmdlety a funkce. Například i-psdf<tab> vrátí Import-PowerShellDataFile

PowerShell 7.2

  • Oprava dokončování tabulátoru pro nelokalizované about* články
  • Oprava splattingu, který se při dokončování považuje za poziční parametr
  • Přidejte doplnění pro klíčová slova nápovědy založené na komentářích
  • Přidání dokončování pro #Requires příkazy
  • Přidejte dokončování tabulátoru pro parametr View rutin Format-*.
  • 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áno dokončování příkazů pro popisky smyček po break a continue
  • Vylepšení dokončování hashovací tabulky v několika scénářích
    • Rozložení parametrů
    • Argumenty k parametru Invoke-CimMethod
    • Parametr FilterHashtable pro Get-WinEvent
    • Vlastnostní parametr pro rutiny CIM
    • Odstraňuje duplicity ze scénářů dokončování pro členy.
  • Podpora lomítek vpřed v dokončení cesty k síťovému úložišti (UNC cesta)
  • Vylepšete automatické doplňování členů
  • Upřednostnit ValidateSet 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, například ([void]"")
    • Umožňuje zobrazení nedefaultních konstruktorů tříd při dokončování třídy na základě AST.

Další způsoby, jak vylepšit dokončování parametrů příkazů využitím klávesy Tab

Integrované rozšíření záložky 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 PowerShell Gallery vyhledáním klíčového slova TabExpansion.

Použití atributů ValidateSet nebo 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írají seznam hodnot, které se zobrazí, když uživatel stiskne Tab za názvem parametru. Na rozdíl od ValidateSethodnoty se ale neověřují.

Další informace najdete tady:

Použití atributu ArgumentCompleter nebo Register-ArgumentCompleter s parametry

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. Použití Register-ArgumentCompleter umožňuje 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 kompletní příkazy na základě položek 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. Pomocí Machine Learning předpovídá, jaký příkaz Azure PowerShellu chcete spustit, a parametry, které chcete použít.

Další informace najdete v tématu Použití prediktorů.