Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln gäller för: ✔️ .NET Core 2.1 SDK och senare versioner
Den här artikeln beskriver hur du konfigurerar flikkomplettering för fem skal: PowerShell, Bash, zsh, fisk och nushell. För andra gränssnitt kan du läsa deras dokumentation om hur du konfigurerar tabbavslut.
När du har konfigurerat, aktiveras flikkomplettering för .NET CLI genom att ange ett dotnet
-kommando i gränssnittet och sedan trycker du på tabbtangenten. Den aktuella kommandoraden dotnet complete
skickas till kommandot och resultatet bearbetas av gränssnittet. Du kan testa resultaten utan att aktivera flikavslut genom att skicka något direkt till dotnet complete
kommandot. Till exempel:
> dotnet complete "dotnet a"
add
clean
--diagnostics
migrate
pack
Om kommandot inte fungerar kontrollerar du att .NET Core 2.0 SDK eller senare är installerat. Om det är installerat men kommandot fortfarande inte fungerar kontrollerar du att dotnet
kommandot matchar en version av .NET Core 2.0 SDK eller senare. Använd kommandot dotnet --version
för att se vilken version av dotnet
din aktuella sökväg resulterar i. Mer information finns i Välj den .NET-version som ska användas.
Exempel
Här följer några exempel på vad flikavslutningen ger:
Input | Blir | Eftersom |
---|---|---|
dotnet a⇥ |
dotnet add |
add är den första underkommandot, alfabetiskt. |
dotnet add p⇥ |
dotnet add --help |
Tabbavslut matchar delsträngar och --help kommer först alfabetiskt. |
dotnet add p⇥⇥ |
dotnet add package |
Om du trycker på fliken en andra gång visas nästa förslag. |
dotnet package add Microsoft⇥ |
dotnet package add Microsoft.ApplicationInsights.Web |
Resultaten returneras alfabetiskt. |
dotnet reference remove ⇥ |
dotnet reference remove ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csproj |
Tabbavslutningen är projektfilmedveten. |
PowerShell
För att lägga till flikkomplettering i PowerShell för .NET CLI, måste du skapa eller redigera profilen som lagras i variabeln $PROFILE
. För mer information, se Så här skapar du din profil och Profiler och körningsprinciper.
Lägg till följande kod i din profil:
# 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
För att lägga till tabbkomplettering till ditt bash-gränssnitt för .NET CLI, lägg till följande kod i din .bashrc
-fil:
# 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
Om du vill lägga till flikslut i zsh-gränssnittet för .NET CLI lägger du till följande kod i .zshrc
filen:
# 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
fisk
För att lägga till kommandotab-funktionalitet i din fiskskal för .NET CLI, lägg till följande kod i din config.fish
-fil:
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"
nushell
Om du vill lägga till tabbavslut i ditt nushell för .NET CLI lägger du till följande i början av config.nu
filen:
let external_completer = { |spans|
{
dotnet: { ||
dotnet complete (
$spans | skip 1 | str join " "
) | lines
}
} | get $spans.0 | each { || do $in }
}
Och sedan i posten config
letar du upp avsnittet completions
och lägger till external_completer
som definierades tidigare i external
:
let-env config = {
# your options here
completions: {
# your options here
external: {
# your options here
completer: $external_completer # add it here
}
}
}