Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1 y versiones posteriores
En este artículo, se describe cómo configurar la finalización con tabulación para cinco shells: PowerShell, Bash, zsh, fish y nushell. Para otros shells, consulte su documentación sobre cómo configurar la finalización de pestañas.
Una vez que se ha configurado, para desencadenar la finalización con tabulación para la CLI de .NET, escriba un comando dotnet
en el shell y presione el tabulador. La línea de comandos actual se envía al dotnet complete
comando y el shell procesa los resultados. Puede probar los resultados sin activar el autocompletado de pestañas enviando algo directamente al comando dotnet complete
. Por ejemplo:
> dotnet complete "dotnet a"
add
clean
--diagnostics
migrate
pack
Si ese comando no funciona, asegúrese de que está instalado el SDK de .NET Core 2.0 o posterior. Si está instalado, pero ese comando todavía no funciona, asegúrese de que el dotnet
comando se resuelve en una versión del SDK de .NET Core 2.0 o posterior. Use el comando dotnet --version
para ver en qué versión de dotnet
se resuelve la ruta de acceso actual. Para obtener más información, consulte Selección de la versión de .NET que se va a usar.
Ejemplos
Estos son algunos ejemplos de lo que proporciona la finalización de pestañas:
Entrada | Se convierte en | Porque |
---|---|---|
dotnet a⇥ |
dotnet add |
add es el primer subcomando, alfabéticamente. |
dotnet add p⇥ |
dotnet add --help |
La finalización con tabulación hace coincidir las subcadenas y --help aparece primero alfabéticamente. |
dotnet add p⇥⇥ |
dotnet add package |
Al presionar la pestaña una segunda vez se abre la siguiente sugerencia. |
dotnet package add Microsoft⇥ |
dotnet package add Microsoft.ApplicationInsights.Web |
Los resultados se devuelven alfabéticamente. |
dotnet reference remove ⇥ |
dotnet reference remove ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csproj |
La finalización con tabulación es compatible con archivos de proyecto. |
PowerShell
Para agregar finalización con tabulación a PowerShell para la CLI de .NET, cree o edite el perfil almacenado en la variable $PROFILE
. Para obtener más información, vea Cómo crear el perfil y Los perfiles y la directiva de ejecución.
Agregue el código siguiente al 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 agregar finalización con tabulación al shell de bash para la CLI de .NET, agregue el código siguiente al archivo .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 agregar finalización con tabulación al shell de zsh para la CLI de .NET, agregue el código siguiente al archivo .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 agregar la finalización con tabulación al shell de fish para la CLI de .NET, agregue el código siguiente al archivo config.fish
:
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"
nushell
Para agregar la finalización con tabulación a nushell para la CLI de .NET, agregue el código siguiente al comienzo del archivo config.nu
:
let external_completer = { |spans|
{
dotnet: { ||
dotnet complete (
$spans | skip 1 | str join " "
) | lines
}
} | get $spans.0 | each { || do $in }
}
Y, luego, en el registro config
, busque la sección completions
y agregue el external_completer
que se definió anteriormente a external
:
let-env config = {
# your options here
completions: {
# your options here
external: {
# your options here
completer: $external_completer # add it here
}
}
}