Compartilhar via


Usando a conclusão de tabulação no shell

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 chave Tab é a associação de chave padrão no Windows. O PSReadLine também fornece uma função vinculada ao CtrlEspaço. A 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 não 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 e pressionar a tecla Tab , o PowerShell expandirá automaticamente o que você digitou para o 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 correspondente. 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.

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, retorna

PowerShell 7.2

  • Corrigir a completação automática de tabulação para artigos não localizados
  • 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 declarações
  • Adicionar completar a tabulação para View o parâmetro de 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
  • Adição da conclusão da guia para rótulos de loop após e
  • Melhorar o aperfeiçoamento do Hashtable em vários cenários
    • Distribuição de parâmetros
    • Parâmetro de argumentos para
    • Parâmetro FilterHashtable para
    • 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 autocompletaçã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
    • 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 da classe é baseada no AST

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 no Galeria do PowerShell pesquisando a palavra-chave TabExpansion.

Usando os atributos ou com parâmetros

O atributo permite que você adicione valores de conclusão de guia a um parâmetro específico. O atributo é semelhante a . Ambos os atributos levam uma lista de valores para serem exibidos quando o usuário pressiona Tab após o nome do parâmetro. No entanto, ao contrário , os valores não são validados.

Para obter mais informações, consulte:

  • ArgumentCompletions
  • ValidateSet

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

O cmdlet registra um bloco de script como uma função para completar argumentos durante a execução para qualquer comando que você especificar. O uso 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 Machine Learning para prever qual comando Azure PowerShell você deseja executar e os parâmetros que você deseja usar.

Sugestões de predição não são sugestões de conclusão automática com tab. Eles são gerados de uma fonte diferente. Por padrão, as sugestões de previsão aparecem em texto cinza seguindo o cursor. Use a chave RightArrow para aceitar a sugestão. Se você acertar a tecla Tab , a sugestão será ignorada e a próxima opção de conclusão da guia será oferecida.

Para obter mais informações, consulte Como usar previsores.