Partilhar via


Usando o autocompletar por tabulação no shell

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 ligação de teclas padrão no Windows. O PSReadLine também fornece uma função vinculada a CtrlEspaço. A 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. Os atalhos de teclado 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 e depois carregares na tecla Tab , o PowerShell expande automaticamente o que escreveste para o 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, . 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.

Exemplos de terminação de tabs 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, retorna

PowerShell 7.2

  • Corrigir a conclusão de tabulação para artigos não localizados
  • 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 declarações
  • Adicionar conclusão de guia para o parâmetro View dos cmdlets
  • 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
  • Foi adicionado conclusão automática de tabulação para etiquetas de loop após e
  • Melhore a conclusão do Hashtable em vários cenários
    • Distribuição de parâmetros
    • Parâmetro de 'Arguments' para
    • Parâmetro FilterHashtable para
    • 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 finalizaçõ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
    • Impede a conclusão em expressões que retornam void como ()
    • Permite que construtores de classe não padrão apareçam quando a conclusão de classe é baseada no AST

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. Pode encontrar exemplos no Galeria do PowerShell procurando a palavra-chave TabExpansion.

Usando os atributos ou com parâmetros

O atributo permite adicionar valores de conclusão de tabulação a um parâmetro específico. O atributo é semelhante a . 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 , os valores não são validados.

Para obter mais informações, consulte:

  • Conclusões de Argumentos
  • ValidateSet

Usando o atributo ou 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 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 atributo. Normalmente, a função é definida no mesmo script ou módulo. Para obter mais informações, consulte ArgumentCompleter.

O cmdlet regista um bloco de script como uma função para completar argumentos durante a execução para qualquer comando especificado. Usar 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. Utiliza Machine Learning para prever que comando Azure PowerShell queres executar e os parâmetros que queres usar.

Sugestões de previsão não são sugestões de completamento de tabulação. São gerados a partir de uma fonte diferente. Por defeito, as sugestões de previsão aparecem em texto cinzento após o cursor. Use a tecla RightArrow para aceitar a sugestão. Se carregar na tecla Tab em vez disso, a sugestão será ignorada e será oferecida a opção de completar o próximo tabulador.

Para obter mais informações, consulte Usando preditores.