Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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. Nejnovější verze PSReadLine 2.2.6 umožňuje ve výchozím nastavení předpovědi.
Použití prediktivní technologie IntelliSense
Pokud je povolená prediktivní technologie IntelliSense, návrh predikce se zobrazí jako barevný text za kurzorem uživatele. Návrhy prediktivní technologie IntelliSense pomáhají novým a zkušeným uživatelům PowerShellu zjišťovat, upravovat a spouštět úplné příkazy na základě odpovídajících předpovědí. Návrhy můžou pocházet z historie uživatele a dalších modulů plug-in specifických pro doménu.
Předchozí obrázek ukazuje výchozí nastavení InlineView návrhu. Stisknutím klávesy RightArrow přijmete vložený návrh. Po přijetí návrhu můžete příkazový řádek upravit před stisknutím klávesy Enter a příkaz spustit.
PSReadLine také nabízí ListView prezentaci návrhů.
Když jste v zobrazení seznamu, můžete pomocí kláves se šipkami procházet dostupné návrhy. Zobrazení seznamu také zobrazuje zdroj předpovědi.
Výchozí hodnota InlineView je . Můžete přepínat mezi InlineView klávesou F2 a ListView stisknutím klávesy F2 . Ke změně zobrazení můžete použít také parametr Set-PSReadLineOption.
Správa prediktivní technologie IntelliSense
Pokud chcete používat prediktivní IntelliSense, musíte mít nainstalovanou novější verzi PSReadLine . Nejlepších výsledků dosáhnete instalací nejnovější verze modulu.
Nainstalujte PSReadLine pomocí modulu Microsoft.PowerShell.PSResourceGet :
Install-PSResource -Name PSReadLine
PsReadLine je možné nainstalovat ve Windows PowerShellu 5.1 nebo v PowerShellu 7 nebo novějším. Pokud chcete použít prediktor plug-iny, musíte mít spuštěný PowerShell 7.2 nebo novější. Windows PowerShell 5.1 může používat prediktor založený na historii.
V PSReadLine 2.2.6 je Prediktivní IntelliSense ve výchozím nastavení povolený podle následujících podmínek:
- Pokud je virtuální terminál (VT) podporovaný a psReadLine spuštěný v PowerShellu 7.2 nebo novějším, je PredictionSource nastavený na
HistoryAndPlugin - Pokud je virtuální počítač podporovaný a psReadLine spuštěný v PowerShellu starším než 7.2, je PredictionSource nastavený na
History - Pokud VT není podporováno, PredictionSource je nastaven na
None.
Aktuální nastavení zobrazíte pomocí následujícího příkazu:
Get-PSReadLineOption | Select-Object -Property PredictionSource
Zdroj predikcí můžete změnit pomocí rutiny Set-PSReadLineOption s parametrem PredictionSource .
PredictionSource lze nastavit na:
NoneHistoryPluginHistoryAndPlugin
Poznámka:
Predikce založené na historii pocházejí z historie, kterou udržuje PSReadLine. Tato historie je komplexnější než historie relací, kterou můžete vidět pomocí Get-History. Další informace naleznete v části Historie příkazůabout_PSReadLine.
Nastavení barvy předpovědi
Ve výchozím nastavení se předpovědi zobrazují ve světle šedém textu na stejném řádku, na který uživatel píše. Aby bylo možné podporovat potřeby přístupnosti, můžete přizpůsobit barvu předpovědi. Barvy se definují pomocí ANSI escape sekvencí. Můžete použít $PSStyle k vytváření řídicích sekvencí ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Nebo si můžete vytvořit vlastní. Výchozí světle šedá barva textu předpovědi se dá obnovit pomocí následující řídicí sekvence ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Další informace o nastavení barvy předpovědi a dalších nastavení PSReadLine naleznete v tématu Set-PSReadLineOption.
Změna klávesových vazeb
PSReadLine obsahuje funkce pro navigaci a přijímání předpovědí. Například:
-
AcceptSuggestion- Přijměte aktuální vložený návrh. -
AcceptNextSuggestionWord- Přijmout další slovo v návrhu. -
AcceptSuggestionje vytvořen uvnitřForwardChar, který je ve výchozím nastavení svázán na RightArrow -
AcceptNextSuggestionWordje sestaven v rámci funkceForwardWord, která může být vázána na Ctrl+f
Rutinu Set-PSReadLineKeyHandler můžete použít ke změně klíčových vazeb.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Při použití této vazby přijme stisknutím klávesy Ctrl+f další slovo vloženého návrhu, když je kurzor na konci aktuálního řádku pro úpravy. Můžete přiřadit další klávesy k AcceptSuggestion a AcceptNextSuggestionWord pro podobné funkce. Můžete například chtít, aby Funkce RightArrow přijímala další slovo vloženého návrhu místo celého řádku návrhu.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Použití jiných prediktorových zásuvných modulů
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 a pokyny k instalaci naleznete v tématu Oznámení obecné dostupnosti Az.Tools.Predictor.
Modul CompletionPredictor přidává prostředí IntelliSense pro cokoli, co je možné v PowerShellu dokončit pomocí tabulátoru. Při nastavení PSReadLine na InlineView, získáte běžné prostředí pro dokončování tabulátoru. Když přejdete na ListView, získáte prostředí IntelliSense. Modul CompletionPredictor můžete nainstalovat z galerie prostředí PowerShell.
Jak už jsme si poznamenali, ListView ukazuje zdroj předpovědi. Pokud máte nainstalovaných více zásuvných modulů, predikce jsou seskupené podle zdroje s Historií, za kterou následují jednotlivé zásuvné moduly v pořadí, v jakém byly načteny.
Vytvoření vlastního modulu prediktoru
Pomocí jazyka C# můžete napsat vlastní prediktor a vytvořit zkompilovaný modul PowerShellu. Modul musí implementovat rozhraní System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Toto rozhraní deklaruje metody použité k dotazování na výsledky předpovědi a poskytnutí zpětné vazby.
Další informace najdete v tématu Vytvoření prediktoru příkazového řádku.