Como habilitar a conclusão da guia para a CLI do .NET
Este artigo se aplica ao: ✔️ SDK do .NET Core 2.1 e versões posteriores
Este artigo descreve como configurar a conclusão de tabulação para quatro shells: PowerShell, Bash, zsh e fish. Para outros shells, consulte as respectivas documentações dos shells para saber como configurar o preenchimento com TAB.
Depois de configurado, o preenchimento com tabulação para a CLI do .NET é disparado inserindo um dotnet
comando no shell e pressionando a tecla Tab . A linha de comando atual é enviada para o dotnet complete
comando e os resultados são processados pelo shell. Teste os resultados sem habilitar o preenchimento com TAB enviando algo diretamente para o comando dotnet complete
. Por exemplo:
> dotnet complete "dotnet a"
add
clean
--diagnostics
migrate
pack
Se esse comando não funcionar, verifique se esse SDK do .NET Core 2.0 ou superior está instalado. Se ele estiver instalado, mas esse comando ainda não funcionar, verifique se o dotnet
comando é resolvido para uma versão do SDK do .NET Core 2.0 e superior. Use o comando dotnet --version
para ver para qual versão do dotnet
o caminho atual está sendo resolvido. Para obter mais informações, consulte Selecionar a versão do .NET que será usada.
Exemplos
Estes são alguns exemplos do que o preenchimento com TAB fornece:
Entrada | se torna | porque |
---|---|---|
dotnet a⇥ |
dotnet add |
add é o primeiro subcomando, em ordem alfabética. |
dotnet add p⇥ |
dotnet add --help |
O preenchimento com TAB faz a correspondência de subcadeias de caracteres e --help vem em primeiro lugar em ordem alfabética. |
dotnet add p⇥⇥ |
dotnet add package |
Na segunda vez que a tecla TAB é pressionada, a próxima sugestão é exibida. |
dotnet add package Microsoft⇥ |
dotnet add package Microsoft.ApplicationInsights.Web |
Os resultados são retornados em ordem alfabética. |
dotnet remove reference ⇥ |
dotnet remove reference ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csproj |
O preenchimento com TAB reconhece o arquivo de projeto. |
PowerShell
Para adicionar o preenchimento com TAB ao PowerShell na CLI do .NET, crie ou edite o perfil armazenado na variável $PROFILE
. Para obter mais informações, confira Como criar seu perfil e Perfis e política de execução.
Adicione o seguinte código ao seu perfil:
# PowerShell parameter completion shim for the dotnet CLI
Register-ArgumentCompleter -Native -CommandName dotnet -ScriptBlock {
param($commandName, $wordToComplete, $cursorPosition)
dotnet complete --position $cursorPosition "$wordToComplete" | ForEach-Object {
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
}
}
bash
Para adicionar o preenchimento com TAB ao shell do bash na CLI do .NET, adicione o seguinte código ao arquivo .bashrc
:
# bash parameter completion for the dotnet CLI
function _dotnet_bash_complete()
{
local cur="${COMP_WORDS[COMP_CWORD]}" IFS=$'\n'
local candidates
read -d '' -ra candidates < <(dotnet complete --position "${COMP_POINT}" "${COMP_LINE}" 2>/dev/null)
read -d '' -ra COMPREPLY < <(compgen -W "${candidates[*]:-}" -- "$cur")
}
complete -f -F _dotnet_bash_complete dotnet
zsh
Para adicionar o preenchimento com TAB ao shell do zsh na CLI do .NET, adicione o seguinte código ao arquivo .zshrc
:
# zsh parameter completion for the dotnet CLI
_dotnet_zsh_complete()
{
local completions=("$(dotnet complete "$words")")
# If the completion list is empty, just continue with filename selection
if [ -z "$completions" ]
then
_arguments '*::arguments: _normal'
return
fi
# This is not a variable assignment, don't remove spaces!
_values = "${(ps:\n:)completions}"
}
compdef _dotnet_zsh_complete dotnet
fish
Para adicionar o preenchimento com TAB ao shell do fish na CLI do .NET, adicione o seguinte código ao arquivo config.fish
:
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"