Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O PowerShell fornece completamentos de entrada para sugerir dicas, facilitar a descoberta e acelerar a introdução de dados. Nomes de comandos, nomes de parâmetros, valores de argumentos e caminhos de ficheiros podem ser todos concluídos pressionando a tecla Tab .
A tecla Tab é a combinação de teclas padrão no Windows.
O PSReadLine também fornece uma MenuComplete função vinculada a Ctrl+Espaço. A MenuComplete função exibe uma lista de completações correspondentes abaixo da linha de comando.
As ligações de teclas podem ser alteradas usando os cmdlets PSReadLine ou a aplicação que hospeda o PowerShell. As ligações de teclas podem ser diferentes em plataformas que não sejam Windows. Para obter mais informações, consulte about_PSReadLine_Functions.
Recursos internos de preenchimento de guias
O PowerShell permite a conclusão de tabulação para muitos aspetos da experiência da linha de comandos.
Conclusão do nome do ficheiro
Para preencher um nome de arquivo ou caminho a partir das opções disponíveis automaticamente, 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 percorre todas as opções disponíveis a cada pressionamento de tecla.
Conclusão do nome do comando e do parâmetro
A expansão da guia de nomes de cmdlets é ligeiramente diferente. Para usar a expansão de tabulação num nome de cmdlet, digite toda a primeira parte do nome (o verbo) e o hífen que o segue. Pode introduzir mais partes do nome para conseguir uma correspondência parcial. Por exemplo, se escreveres get-co e depois carregares na tecla Tab , o PowerShell expande automaticamente o que escreveste para o Get-Command cmdlet (repare que também altera o caso das letras para a sua forma padrão). Se carregares novamente na tecla Tab , o PowerShell substitui-o pelo próximo cmdlet correspondente, Get-Content. O preenchimento automático com a tecla Tab também funciona para resolver aliases do PowerShell e executáveis nativos.
O gráfico a seguir mostra exemplos de preenchimento de guias e menus.
Outros aprimoramentos de conclusão de guia
Cada nova versão do PowerShell inclui melhorias no preenchimento de guias que corrigem bugs e melhoram a usabilidade.
PowerShell 7.0
- A conclusão de tabulação resolve atribuições variáveis que são enums ou são restritas a tipos
- Conclusão de tabulação expande cmdlets e comandos abreviados. Por exemplo,
i-psdf<tab>retornaImport-PowerShellDataFile
PowerShell 7.2
- Corrigir a conclusão de tabulação para artigos não localizados
about* - Corrigir o tratamento de splatting como parâmetro posicional em completações
- Adicionar completamentos para palavras-chave da Ajuda com base em comentários
- Adicionar autocompletar para
#Requiresdeclarações - Adicionar conclusão de guia para o parâmetro View dos cmdlets
Format-* - Adicionar suporte para completadores de argumentos baseados em classe
PowerShell 7.3
- Corrigir o preenchimento da guia dentro do bloco de script especificado para o
ValidateScriptAttribute - Foi adicionado conclusão automática de tabulação para etiquetas de loop após
breakecontinue - Melhore a conclusão do Hashtable em vários cenários
- Distribuição de parâmetros
-
Parâmetro de 'Arguments' para
Invoke-CimMethod -
Parâmetro FilterHashtable para
Get-WinEvent - Parâmetro de propriedade para os cmdlets CIM
- Remove duplicados dos cenários de conclusão dos membros
- Suporte a barras diagonais no preenchimento automático do caminho de compartilhamento de rede (caminho UNC)
- Melhorar o preenchimento automático de membros
- Priorizar
ValidateSetfinalizações em vez de enums para parâmetros - Adicionar suporte de inferência de tipo para métodos genéricos com parâmetros de tipo
- Melhorar a inferência de tipo e as conclusões
- 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 de classe é baseada no AST
- Permite que os métodos sejam mostrados nos resultados de conclusão para
Outras maneiras de melhorar a conclusão da guia de parâmetros de comando
A expansão de separador incorporada é 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 adicionar valores de conclusão de tabulação a um parâmetro específico.
O ArgumentCompletions atributo é semelhante a ValidateSet. Ambos os atributos usam 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 de 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 preenchedor de argumento é um bloco de script ou função que fornece preenchimento dinâmico de guias para valores de parâmetro.
O ArgumentCompleter atributo permite que você registre uma função que fornece valores de conclusão de tabulação para o parâmetro. A função de preenchimento 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 Register-ArgumentCompleter cmdlet regista um bloco de script como uma função para completar argumentos durante a execução para qualquer comando especificado. Usar Register-ArgumentCompleter permite definir completadores de argumentos fora do script ou módulo ou para comandos nativos. Para obter mais informações, consulte Register-ArgumentCompleter.
O IntelliSense preditivo no PSReadLine
O PSReadLine 2.1.0 introduziu o recurso Predictive IntelliSense . O recurso Predictive IntelliSense fornece sugestões de comandos completos com base em itens do seu histórico PSReadLine.
O PSReadLine 2.2.2 amplia o poder do Predictive IntelliSense 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 para o Predictive IntelliSense. Ele usa o Aprendizado de Máquina para prever qual comando do Azure PowerShell você deseja executar e os parâmetros que deseja usar.
Para obter mais informações, consulte Usando preditores.