Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek se vztahuje na: ✔️ .NET Core 2.1 SDK a novější verze
Tento článek popisuje, jak nakonfigurovat dokončování tabulátoru pro pět prostředí: PowerShell, Bash, zsh, fish a nushell. U jiných shellů se podívejte do jejich dokumentace, jak konfigurovat dokončování příkazů.
Po nastavení se doplňování příkazů pomocí klávesy Tab pro rozhraní .NET CLI aktivuje tím, že do příkazového řádku zadáte dotnet
příkaz a následně stisknete klávesu Tab. Aktuální příkaz se odešle do dotnet complete
příkazu a výsledky zpracovává shell. Výsledky můžete otestovat bez povolení dokončování tabulátoru odesláním něčeho přímo do dotnet complete
příkazu. Například:
> dotnet complete "dotnet a"
add
clean
--diagnostics
migrate
pack
Pokud tento příkaz nefunguje, ujistěte se, že je nainstalovaná sada .NET Core 2.0 SDK nebo novější. Pokud je nainstalovaný, ale tento příkaz stále nefunguje, ujistěte se, že se dotnet
příkaz přeloží na verzi sady .NET Core 2.0 SDK nebo novější. Použijte příkaz dotnet --version
, abyste zjistili, na kterou verzi dotnet
se překládá vaše aktuální cesta. Další informace najdete v tématu Výběr verze .NET, která se má použít.
Příklady
Tady je několik příkladů, co poskytuje dokončování tabulátoru:
Vstup | Stane se | Protože |
---|---|---|
dotnet a⇥ |
dotnet add |
add je první podpříkaz, abecedně. |
dotnet add p⇥ |
dotnet add --help |
Doplnění pomocí tabulátoru odpovídá podřetězcům a --help je první v abecedním pořadí. |
dotnet add p⇥⇥ |
dotnet add package |
Dalším stisknutím tabulátoru se zobrazí další návrh. |
dotnet package add Microsoft⇥ |
dotnet package add Microsoft.ApplicationInsights.Web |
Výsledky se vrátí abecedně. |
dotnet reference remove ⇥ |
dotnet reference remove ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csproj |
Dokončování tabulátoru je soubor projektu s podporou. |
PowerShell
Pokud chcete do PowerShellu přidat dokončování tabulátoru pro .NET CLI, vytvořte nebo upravte profil uložený v proměnné $PROFILE
. Další informace najdete v tématu Vytvoření profilu a profilů a zásad spouštění.
Do svého profilu přidejte následující kód:
# 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
Pokud chcete do prostředí Bash pro .NET CLI přidat dokončování tabulátoru , přidejte do .bashrc
souboru následující kód:
# 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
Pokud chcete do prostředí zsh pro .NET CLI přidat dokončování tabulátoru, přidejte do .zshrc
souboru následující kód:
# 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
ryba
Pokud chcete přidat doplňování tabulátoru do fish shellu pro .NET CLI, přidejte následující kód do souboru config.fish
.
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"
NuShell
Pokud chcete do nushellu pro .NET CLI přidat dokončování tabulátoru config.nu
, přidejte na začátek souboru následující:
let external_completer = { |spans|
{
dotnet: { ||
dotnet complete (
$spans | skip 1 | str join " "
) | lines
}
} | get $spans.0 | each { || do $in }
}
A pak v záznamu config
vyhledejte completions
část a přidejte external_completer
definovaný dříve do external
:
let-env config = {
# your options here
completions: {
# your options here
external: {
# your options here
completer: $external_completer # add it here
}
}
}