Notatka
Dostęp do tej strony wymaga autoryzacji. Może 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. PSReadLine 2.2.2 rozszerza możliwości Predykcyjnego IntelliSense, dodając obsługę modułów plug-in korzystających z zaawansowanej logiki do udostępniania 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 predictive IntelliSense, sugestia podpowiedzi pojawia się jako kolorowy tekst za kursorem użytkownika. Sugestie z Predykcyjnego IntelliSense ułatwiają nowym i doświadczonym użytkownikom programu PowerShell odnajdywanie, edytowanie i wykonywanie pełnych poleceń na podstawie dopasowanych przewidywań. 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 PredictionViewStyleSet-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 PSReadLine przy użyciu modułu Microsoft.PowerShell.PSResourceGet:
Install-PSResource -Name PSReadLine
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. Windows program 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 VT (technologia wirtualizacji) jest obsługiwana, a 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
None.
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 szczegółowa niż historia oparta na sesji, którą można zobaczyć przy użyciu 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 za pomocą sekwencji ucieczki ANSI. Możesz użyć $PSStyle do tworzenia sekwencji ucieczek ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Możesz też utworzyć własne. Domyślny jasnoszary kolor tekstu przewidywania można przywrócić przy użyciu następującej sekwencji znakowej 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 przypisania klawiszy
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 wForwardChar, 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 Machine Learning do przewidywania Azure PowerShell polecenia, które chcesz uruchomić, i 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 IntelliSense dla elementów, które można uzupełniać za pomocą tabulatora w programie PowerShell. Po ustawieniu PSReadLine na brak wartości InlineView, otrzymujesz normalne uzupełnianie za pomocą tabulatora. Po przełączeniu na ListView uzyskasz doświadczenie IntelliSense. Moduł CompletionPredictor można zainstalować z Galeria 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).