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.
Este artigo se aplica a: ✔️ SDK do .NET Core 2.1 e versões posteriores
Este artigo descreve como configurar o preenchimento com TAB para cinco shells: PowerShell, Bash, zsh, fish e nushell. Para outros shells, consulte as respectivas documentações dos shells para saber como configurar o preenchimento com TAB.
Após configurado, o preenchimento com TAB para a CLI do .NET CLI é disparado com a inserção de um comando dotnet
no shell e o pressionamento da 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 o SDK do .NET Core 2.0 ou posterior está instalado. Se ele está instalado, mas esse comando ainda não funciona, verifique se o comando dotnet
é resolvido para uma versão do SDK do .NET Core 2.0 e posterior. 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 a ser usada.
Exemplos
Estes são alguns exemplos do que o preenchimento com TAB fornece:
Entrada | Torna-se | Porque |
---|---|---|
dotnet a⇥ |
dotnet add |
add é o primeiro subcomando, em ordem alfabética. |
dotnet add p⇥ |
dotnet add --help |
O preenchimento com TAB correlaciona as subcadeias de caracteres, e --help vem em primeiro lugar em ordem alfabética. |
dotnet add p⇥⇥ |
dotnet add package |
Pressionar a tecla Tab uma segunda vez apresenta a próxima sugestão. |
dotnet package add Microsoft⇥ |
dotnet package add Microsoft.ApplicationInsights.Web |
Os resultados são retornados em ordem alfabética. |
dotnet reference remove ⇥ |
dotnet reference remove ..\..\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($wordToComplete, $commandAst, $cursorPosition)
dotnet complete --position $cursorPosition "$commandAst" | 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' # On Windows you may need to use use IFS=$'\r\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
peixe
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))"
nushell
Para adicionar o preenchimento da guia ao nushell para a CLI do .NET, adicione o seguinte ao início do arquivo config.nu
:
let external_completer = { |spans|
{
dotnet: { ||
dotnet complete (
$spans | skip 1 | str join " "
) | lines
}
} | get $spans.0 | each { || do $in }
}
Em seguida, no registro config
, localize a seção completions
e adicione o external_completer
que foi definido anteriormente a external
:
let-env config = {
# your options here
completions: {
# your options here
external: {
# your options here
completer: $external_completer # add it here
}
}
}