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 PowerShell fornece preenchimentos de entrada para fornecer dicas, habilitar a descoberta e acelerar a entrada de informações. Nomes de comando, nomes de parâmetro, valores de argumento e caminhos de arquivo podem ser concluídos pressionando a tecla Tab .
A tecla Tab é a associação de chave padrão no Windows.
O PSReadLine também fornece uma função vinculada ao Ctrl+Espaço. A MenuComplete função exibe uma lista de conclusões correspondentes abaixo da linha de comando.
As associações de chave podem ser alteradas usando cmdlets PSReadLine ou o aplicativo que está hospedando o PowerShell. Os keybindings podem ser diferentes em plataformas que não são do Windows. Para obter mais informações, consulte about_PSReadLine_Functions.
Recursos de conclusão automática incorporados
O PowerShell permite a completação de tabulação para muitos aspectos da experiência de linha de comando.
Conclusão do nome do arquivo
Para preencher automaticamente um nome de arquivo ou caminho a partir das opções disponíveis, digite parte do nome e pressione a tecla Tab. O PowerShell expande automaticamente o nome para a primeira correspondência encontrada. Pressionar a tecla Tab novamente passa por todas as opções disponíveis a cada pressionamento de tecla.
Conclusão do nome do comando e do parâmetro
A expansão com Tab de nomes de cmdlet é ligeiramente diferente. Para usar a expansão com Tab em um nome de cmdlet, digite a primeira parte inteira do nome (o verbo) e o hífen que o segue. Você pode preencher mais do mesmo nome de uma correspondência parcial. Por exemplo, se você digitar get-co e pressionar a tecla Tab , o PowerShell expandirá automaticamente o que você digitou para o Get-Command cmdlet (observe que ele também altera o caso de letras para o formulário padrão). Se você pressionar a tecla Tab novamente, o PowerShell a substituirá pelo próximo cmdlet Get-Contentcorrespondente. A funcionalidade de autocompletar também funciona para resolver aliases do PowerShell e programas nativos.
O gráfico a seguir mostra exemplos de preenchimento de guia e menu.
Outros aprimoramentos de conclusão ao pressionar a tecla Tab
Cada nova versão do PowerShell inclui melhorias na conclusão da guia que corriem bugs e melhoram a usabilidade.
PowerShell 7.0
- A conclusão automática de tabulação resolve atribuições de variáveis que são enumerações ou estão restritas por tipo.
- A conclusão com a tecla Tab expande cmdlets abreviados e funções. Por exemplo,
i-psdf<tab>retornaImport-PowerShellDataFile
PowerShell 7.2
- Corrigir a completação automática de tabulação para artigos não localizados
about* - Corrigir o splatting sendo tratado como parâmetro posicional nas autocompleções
- Adicionar completamentos para palavras-chave da ajuda baseada em comentários
- Adicionar conclusão para
#Requiresdeclarações - Adicionar completar a tabulação para View o parâmetro de
Format-*cmdlets - Adicionar suporte para concluidores de argumentos baseados em classe
PowerShell 7.3
- Corrigir a conclusão da guia dentro do bloco de script especificado para o
ValidateScriptAttribute - Adição da conclusão da guia para rótulos de loop após
breakecontinue - Melhorar o aperfeiçoamento do Hashtable em vários cenários
- Distribuição de parâmetros
-
Parâmetro de argumentos para
Invoke-CimMethod -
Parâmetro FilterHashtable para
Get-WinEvent - Parâmetro de propriedade para os cmdlets CIM
- Remove duplicatas de cenários de conclusão de membro
- Suporte a barras de encaminhamento na conclusão do compartilhamento de rede (caminho UNC)
- Melhorar a conclusão automática de membros
- Priorizar
ValidateSetautocompletação em vez de enumerações para parâmetros - Adicionar suporte de inferência de tipo para métodos genéricos com parâmetros de tipo
- Melhorar a inferência e as conclusões do tipo
- Permite que os métodos sejam mostrados nos resultados de conclusão para
ForEach-Object -MemberName - Impede a conclusão em expressões que retornam void como (
[void]"") - Permite que construtores de classe não padrão apareçam quando a conclusão da classe é baseada no AST
- Permite que os métodos sejam mostrados nos resultados de conclusão para
Outras maneiras de aprimorar a conclusão da guia de parâmetros de comando
A expansão de guia interna é controlada pela função interna TabExpansion ou TabExpansion2. É possível criar funções ou módulos que substituam o comportamento padrão dessas funções. Você pode encontrar exemplos na Galeria do PowerShell pesquisando a palavra-chave TabExpansion .
Usando os atributos ValidateSet ou ArgumentCompletions com parâmetros
O ArgumentCompletions atributo permite que você adicione valores de conclusão de guia a um parâmetro específico.
O ArgumentCompletions atributo é semelhante a ValidateSet. Ambos os atributos levam uma lista de valores a serem apresentados quando o usuário pressiona Tab após o nome do parâmetro. No entanto, ao contrário ValidateSet, os valores não são validados.
Para obter mais informações, consulte:
Usando o ArgumentCompleter atributo ou Register-ArgumentCompleter com parâmetros
Um concluídor de argumento é um bloco de script ou função que fornece a conclusão da guia dinâmica para valores de parâmetro.
O ArgumentCompleter atributo permite que você registre uma função que fornece valores de conclusão de guia para o parâmetro. A função completer de argumento deve estar disponível para a função que contém o parâmetro com o ArgumentCompleter atributo. Normalmente, a função é definida no mesmo script ou módulo. Para obter mais informações, consulte ArgumentCompleter.
O cmdlet Register-ArgumentCompleter registra um bloco de script como uma função para completar argumentos durante a execução para qualquer comando que você especificar. O uso Register-ArgumentCompleter permite que você defina os concluidores de argumentos fora do script ou módulo ou para comandos nativos. Para obter mais informações, consulte Register-ArgumentCompleter .
IntelliSense preditivo no PSReadLine
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. 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, consulte Como usar previsores.