Uwaga
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 . 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 dodatkowych wtyczek specyficznych dla domeny.
Poprzednie obrazy pokazują domyślną InlineView
sugestię. Naciśnięcie klawisza RightArrow akceptuje sugestię śródliniową. Po zaakceptowaniu sugestii możesz edytować wiersz polecenia przed naciśnięciem klawisza Enter , aby uruchomić polecenie.
Program PSReadLine oferuje również prezentację ListView
sugestii.
W widoku listy możesz użyć klawiszy strzałek, aby przewinąć dostępne sugestie. Widok listy zawiera również źródło przewidywania.
Wartość domyślna PSReadLine to InlineView
. Możesz przełączać się między InlineView
i ListView
przez naciśnięcie klawisza F2 . Możesz również użyć parametru PredictionViewStyle polecenia , Set-PSReadLineOption
aby zmienić widok.
Zarządzanie predykcyjną funkcją IntelliSense
Aby korzystać z funkcji Predykcyjnej IntelliSense, musisz mieć zainstalowaną nowszą wersję programu PSReadLine . Aby uzyskać najlepsze wyniki, zainstaluj najnowszą wersję modułu.
Aby zainstalować element PSReadLine przy użyciu modułu PowerShellGet:
Install-Module -Name PSReadLine
Możesz też zainstalować przy użyciu nowego modułu PowerShellGet w wersji 3 :
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, musisz 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
None
wartość .
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:
None
History
Plugin
HistoryAndPlugin
Uwaga
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 klawiszy
Funkcja PSReadLine zawiera funkcje do nawigowania i akceptowania przewidywań. Na przykład:
AcceptSuggestion
- Zaakceptuj bieżącą sugestię śródliniowąAcceptNextSuggestionWord
- Zaakceptuj następne słowo sugestii wbudowanejAcceptSuggestion
jest wbudowany w obiekcieForwardChar
, który jest domyślnie powiązany z rightarrowAcceptNextSuggestionWord
jest wbudowany w funkcjęForwardWord
, która może być powiązana z klawiszem 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 klawisza 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ć wartość RightArrow na zaakceptowanie następnego słowa sugestii wbudowanej zamiast całego wiersza sugestii.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Korzystanie z innych wtyczek predyktora
Moduł Az.Tools.Predictor był pierwszą wtyczką dla funkcji Predictive IntelliSense. Używa Edukacja Maszyny do przewidywania polecenia programu Azure PowerShell, 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 funkcji IntelliSense dla wszystkich elementów, które można ukończyć na karcie w programie PowerShell. Po ustawieniu parametru PSReadLine na InlineView
wartość uzyskasz normalne środowisko uzupełniania kart. Po przełączeniu do ListView
programu uzyskasz środowisko intelliSense. Moduł CompletionPredictor można zainstalować z Galeria programu PowerShell.
Jak wspomniano wcześniej, ListView
pokazuje źródło przewidywania. Jeśli masz wiele wtyczek zainstalowanych przewidywań, są pogrupowane według źródła z kolumną 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).