Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Program PSReadLine 2.1.0 wprowadził funkcję Predykcyjnej funkcji IntelliSense . Predykcyjna funkcja IntelliSense udostępnia sugestie dotyczące pełnych poleceń opartych na elementach z historii PSReadLine. Funkcja PSReadLine 2.2.2 rozszerza możliwości funkcji Predykcyjnej funkcji IntelliSense, dodając obsługę modułów wtyczek korzystających z zaawansowanej logiki w celu udostępnienia sugestii dotyczących pełnych poleceń. Najnowsza wersja PSReadLine 2.2.6 domyślnie umożliwia przewidywanie.
Korzystanie z funkcji Predykcyjnej IntelliSense
Po włączeniu funkcji Predykcyjnej funkcji IntelliSense sugestia przewidywania jest wyświetlana jako kolorowy tekst po kursorze użytkownika. Sugestie z funkcji Predykcyjnej funkcji IntelliSense ułatwiają nowym i doświadczonym użytkownikom programu PowerShell odnajdywanie, edytowanie i wykonywanie pełnych poleceń w oparciu o pasujące przewidywania. Sugestie mogą pochodzić z historii użytkownika i innych wtyczek specyficznych dla domeny.
Na poprzedniej ilustracji przedstawiono domyślną InlineView sugestię. Naciśnięcie klawisza strzałka w prawo akceptuje sugestię śródliniową. Po zaakceptowaniu sugestii możesz edytować wiersz polecenia przed naciśnięciem Enter , aby uruchomić polecenie.
Program PSReadLine oferuje również prezentację ListView sugestii.
W widoku listy możesz użyć strzałek, aby przewinąć dostępne sugestie. Widok listy również pokazuje źródło prognozy.
Wartość domyślna PSReadLine to InlineView. Możesz przełączać się między InlineView i ListView przez naciśnięcie F2 . Możesz również użyć parametru PredictionViewStyle polecenia , Set-PSReadLineOption aby zmienić widok.
Zarządzanie predykcyjną funkcją IntelliSense
Aby korzystać z Predictive IntelliSense, musisz mieć zainstalowaną nowszą wersję PSReadLine. Aby uzyskać najlepsze wyniki, zainstaluj najnowszą wersję modułu.
Zainstaluj program PSReadLine przy użyciu modułu Microsoft.PowerShell.PSResourceGet :
Install-PSResource -Name PSReadLine
Narzędzie PSReadLine można zainstalować w programie Windows PowerShell 5.1 lub w programie PowerShell 7 lub nowszym. Aby korzystać z wtyczek predyktora, należy uruchomić program PowerShell w wersji 7.2 lub nowszej. Program Windows PowerShell 5.1 może używać predyktora opartego na historii.
W programie PSReadLine 2.2.6 funkcja Predictive IntelliSense jest domyślnie włączona w zależności od następujących warunków:
- Jeśli terminal wirtualny (VT) jest obsługiwany i program PSReadLine działa w programie PowerShell 7.2 lub nowszym, właściwość PredictionSource jest ustawiona na wartość
HistoryAndPlugin - Jeśli maszyna wirtualna jest obsługiwana, a funkcja PSReadLine działa w programie PowerShell starszym niż 7.2, właściwość PredictionSource jest ustawiona na wartość
History - Jeśli funkcja VT nie jest obsługiwana, właściwość PredictionSource jest ustawiona na
Nonewartość .
Użyj następującego polecenia, aby wyświetlić bieżące ustawienie:
Get-PSReadLineOption | Select-Object -Property PredictionSource
Źródło przewidywania można zmienić przy użyciu Set-PSReadLineOption polecenia cmdlet z parametrem PredictionSource .
Źródło przewidywania można ustawić na:
NoneHistoryPluginHistoryAndPlugin
Uwaga / Notatka
Przewidywania oparte na historii pochodzą z historii obsługiwanej przez program PSReadLine. Ta historia jest bardziej kompleksowa niż historia oparta na sesji, którą można zobaczyć przy użyciu programu Get-History. Aby uzyskać więcej informacji, zobacz sekcję Historia poleceńabout_PSReadLine.
Ustawianie koloru przewidywania
Domyślnie przewidywania są wyświetlane w jasnoszarym tekście w tym samym wierszu, który użytkownik wpisuje. Aby zapewnić obsługę potrzeb związanych z ułatwieniami dostępu, możesz dostosować kolor przewidywania. Kolory są definiowane przy użyciu sekwencji ucieczki ANSI. Możesz użyć $PSStyle polecenia , aby utworzyć sekwencje ucieczki ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Możesz też utworzyć własne. Domyślny kolor tekstu przewidywania jasnoszary można przywrócić przy użyciu następującej sekwencji ucieczki ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Aby uzyskać więcej informacji na temat ustawiania koloru przewidywania i innych ustawień psReadLine, zobacz Set-PSReadLineOption.
Zmienianie powiązania
Funkcja PSReadLine zawiera funkcje do nawigowania i akceptowania przewidywań. Przykład:
-
AcceptSuggestion- Zaakceptuj bieżącą sugestię śródliniową -
AcceptNextSuggestionWord- Zaakceptuj następne słowo sugestii wbudowanej -
AcceptSuggestionjest wbudowany w obiekcieForwardChar, który jest domyślnie powiązany z rightarrow -
AcceptNextSuggestionWordjest wbudowany w funkcjęForwardWord, która może być powiązana z Ctrl+f
Możesz użyć Set-PSReadLineKeyHandler polecenia cmdlet , aby zmienić powiązania kluczy.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Za pomocą tego powiązania naciśnięcie Ctrl+f akceptuje następny wyraz sugestii śródwierszowej, gdy kursor znajduje się na końcu bieżącego wiersza edycji. Możesz powiązać inne klucze z AcceptSuggestion i AcceptNextSuggestionWord dla podobnych funkcji. Na przykład możesz zmienić działanie RightArrow tak, aby akceptowało kolejne słowo sugestii w linii, zamiast całej sugestii.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Korzystanie z innych wtyczek predyktora
Moduł Az.Tools.Predictor był pierwszą wtyczką dla predykcyjnej funkcji IntelliSense. Używa usługi Machine Learning do przewidywania polecenia programu Azure PowerShell, które chcesz uruchomić, oraz parametrów, których chcesz użyć. Aby uzyskać więcej informacji i instrukcji instalacji, zobacz Ogłoszenie ogólnej dostępności az.Tools.Predictor.
Moduł CompletionPredictor dodaje środowisko funkcji IntelliSense dla wszystkich elementów, które można ukończyć na karcie w programie PowerShell. Po ustawieniu parametru PSReadLine na InlineViewwartość uzyskasz normalne środowisko uzupełniania kart. Po przełączeniu do ListViewprogramu uzyskasz środowisko intelliSense. Moduł CompletionPredictor można zainstalować z galerii programu PowerShell.
Jak wspomniano wcześniej, ListView pokazuje źródło przewidywania. Jeśli masz zainstalowane wiele wtyczek, przewidywania są pogrupowane według źródła z pozycją Historia wymienioną jako pierwsza, po której następuje każda wtyczka w kolejności, w której zostały załadowane.
Tworzenie własnego modułu predyktora
Możesz napisać własny predyktor przy użyciu języka C#, aby utworzyć skompilowany moduł programu PowerShell. Moduł musi zaimplementować interfejs System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Ten interfejs deklaruje metody używane do wykonywania zapytań dotyczących wyników przewidywania i przekazywania opinii.
Aby uzyskać więcej informacji, zobacz How to create a command-line predictor (Jak utworzyć predyktor wiersza polecenia).