Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O PSReadLine 2.1.0 introduziu o recurso IntelliSense Preditivo. O IntelliSense Preditivo fornece sugestões para comandos completos com base em itens do histórico PSReadLine. O PSReadLine 2.2.2 estende o poder do IntelliSense Preditivo adicionando suporte para módulos de plug-in que usam lógica avançada para fornecer sugestões para comandos completos. A versão mais recente, PSReadLine 2.2.6, habilita previsões por padrão.
Usando o IntelliSense Preditivo
Quando o Predictive IntelliSense está habilitado, a sugestão de previsão aparece como texto colorido seguindo o cursor do usuário. As sugestões do Predictive IntelliSense ajudam usuários novos e experientes do PowerShell a descobrir, editar e executar comandos completos com base em previsões correspondentes. As sugestões podem vir do histórico do usuário e de outros plug-ins específicos do domínio.
A imagem anterior mostra a configuração padrão InlineView da sugestão. Pressionar a tecla RightArrow aceita uma sugestão embutida. Depois de aceitar a sugestão, você pode editar a linha de comando antes de clicar em Enter para executar o comando.
O PSReadLine também oferece uma ListView apresentação das sugestões.
Quando estiver no modo de exibição de lista, você pode usar as teclas de direção para percorrer as sugestões disponíveis. A exibição em lista também mostra a fonte da previsão.
PSReadLine usa InlineViewcomo padrão . Você pode alternar entre InlineView e ListView pressionando a tecla F2 . Você também pode usar o parâmetro Set-PSReadLineOption para alterar a exibição.
Gerenciando o IntelliSense preditivo
Para usar o Predictive IntelliSense, você deve ter uma versão mais recente do PSReadLine instalada. Para obter melhores resultados, instale a versão mais recente do módulo.
Instale o PSReadLine usando o módulo Microsoft.PowerShell.PSResourceGet :
Install-PSResource -Name PSReadLine
O PSReadLine pode ser instalado no Windows PowerShell 5.1 ou no PowerShell 7 ou superior. Para usar plug-ins do predictor, você deve estar rodando no PowerShell 7.2 ou superior. O Windows PowerShell 5.1 pode usar o preditor baseado em histórico.
No PSReadLine 2.2.6, o IntelliSense Preditivo é habilitado por padrão, dependendo das seguintes condições:
- Se houver suporte para VT (Terminal Virtual) e PSReadLine em execução no PowerShell 7.2 ou superior, PredictionSource será definido como
HistoryAndPlugin - Se houver suporte para VT e PSReadLine em execução no PowerShell com mais de 7.2, PredictionSource será definido como
History - Se não houver suporte para VT, PredictionSource será definido como
None.
Use o seguinte comando para ver a configuração atual:
Get-PSReadLineOption | Select-Object -Property PredictionSource
Você pode alterar a fonte de previsão usando o Set-PSReadLineOption cmdlet com o parâmetro PredictionSource . O PredictionSource pode ser definido como:
NoneHistoryPluginHistoryAndPlugin
Observação
As previsões baseadas em histórico vêm do histórico mantido pelo PSReadLine. Esse histórico é mais abrangente do que o histórico baseado em sessão que você pode ver usando Get-History. Para obter mais informações, consulte a seção Histórico de Comandos na about_PSReadLine.
Definindo a cor da previsão
Por padrão, as previsões aparecem em texto cinza claro na mesma linha que o usuário está digitando. Para dar suporte às necessidades de acessibilidade, você pode personalizar a cor da previsão. As cores são definidas usando sequências de escape ANSI. Você pode usar $PSStyle para compor sequências de escape ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Ou você pode criar seu próprio. A cor padrão do texto de previsão em cinza-claro pode ser restaurada usando a seguinte sequência de escape ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Para obter mais informações sobre como definir a cor de previsão e outras configurações do PSReadLine, consulte Set-PSReadLineOption.
Alterando associações de chave
O PSReadLine contém funções para navegar e aceitar previsões. Por exemplo:
-
AcceptSuggestion- Aceite a sugestão embutida atual -
AcceptNextSuggestionWord- Aceite a próxima palavra da sugestão embutida -
AcceptSuggestioné criado dentroForwardChar, que está associado a RightArrow por padrão -
AcceptNextSuggestionWordé criado dentro da funçãoForwardWord, que pode ser associada a Ctrl+f
Você pode usar o Set-PSReadLineKeyHandler cmdlet para alterar as associações de chave.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Com essa associação, pressionar Ctrl+f aceita a próxima palavra de uma sugestão embutida quando o cursor estiver no final da linha de edição atual. Você pode associar outras teclas a AcceptSuggestion e AcceptNextSuggestionWord para funcionalidades semelhantes. Por exemplo, talvez você queira fazer o RightArrow aceitar a próxima palavra da sugestão embutida, em vez de toda a linha de sugestão.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Usando outros plugins de predição
O módulo Az.Tools.Predictor foi o primeiro plug-in do Predictive IntelliSense. Ele usa o Machine Learning para prever qual comando do Azure PowerShell você deseja executar e os parâmetros que você deseja usar. Para obter mais informações e instruções de instalação, consulte Anunciando a disponibilidade geral do Az.Tools.Predictor.
O módulo CompletionPredictor adiciona uma experiência do IntelliSense para qualquer coisa que possa ser concluída usando a tecla Tab no PowerShell. Com o PSReadLine definido como InlineView, você obtém a experiência normal de conclusão da guia. Ao alternar para ListView, você obtém a experiência do IntelliSense. Você pode instalar o módulo CompletionPredictor na Galeria do PowerShell.
Como observado anteriormente, ListView mostra a origem da previsão. Se você tiver vários plug-ins instalados, as previsões serão agrupadas pela origem, com Histórico listado em primeiro lugar, seguido por cada plug-in na ordem de carregamento.
Criando seu próprio módulo de preditor
Você pode escrever seu próprio preditor usando C# para criar um módulo compilado do PowerShell. O módulo deve implementar a interface System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Essa interface declara os métodos usados para consultar resultados de previsão e fornecer comentários.
Para obter mais informações, consulte Como criar um preditor de linha de comando.