Lapkiegészítés engedélyezése a .NET CLI-hez
Ez a cikk a következőre vonatkozik: ✔️ .NET Core 2.1 SDK és újabb verziók
Ez a cikk azt ismerteti, hogyan konfigurálhatja a lapkiegészítést öt rendszerhéjhoz: PowerShell, Bash, zsh, fish és nushell. Egyéb rendszerhéjak esetén tekintse meg a lapkiegészítés konfigurálásához szükséges dokumentációt.
A beállítás után a .NET CLI tabulátorkiegészítését dotnet
egy parancs beírásával aktiválja a rendszerhéjban, majd lenyomja a Tab billentyűt. A rendszer elküldi az aktuális parancssort a dotnet complete
parancsnak, és az eredményeket a rendszerhéj dolgozza fel. A tabulátor befejezésének engedélyezése nélkül is tesztelheti az eredményeket, ha közvetlenül a dotnet complete
parancsnak küld valamit. Példa:
> dotnet complete "dotnet a"
add
clean
--diagnostics
migrate
pack
Ha ez a parancs nem működik, győződjön meg arról, hogy a .NET Core 2.0 SDK vagy újabb verzió telepítve van. Ha telepítve van, de a parancs továbbra sem működik, győződjön meg arról, hogy a parancs a dotnet
.NET Core 2.0 SDK vagy újabb verziójára lesz feloldva. dotnet --version
A parancs használatával megtekintheti, hogy az aktuális elérési út melyik verziójára dotnet
van feloldva. További információ: Válassza ki a használni kívánt .NET-verziót.
Példák
Íme néhány példa a tabulátorkiegészítésre:
Bevitel | Lesz | Mert |
---|---|---|
dotnet a⇥ |
dotnet add |
add betűrendben az első alparancs. |
dotnet add p⇥ |
dotnet add --help |
A tabulátorkiegészítés megfelel az alsztringeknek, és --help betűrendben az első. |
dotnet add p⇥⇥ |
dotnet add package |
A tabulátor második lenyomásával megjelenik a következő javaslat. |
dotnet add package Microsoft⇥ |
dotnet add package Microsoft.ApplicationInsights.Web |
Az eredmények betűrendben jelennek meg. |
dotnet remove reference ⇥ |
dotnet remove reference ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csproj |
A tabulátor kitöltése a projektfájlt ismeri. |
PowerShell
A .NET CLI-hez készült PowerShell lapkiegészítés hozzáadásához hozza létre vagy szerkessze a változóban $PROFILE
tárolt profilt. További információ: A profil és a profilok létrehozása és a végrehajtási szabályzat.
Adja hozzá a következő kódot a profiljához:
# 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
Ha a .NET CLI-hez tartozó bash-felülethez tabulátorkitöltést szeretne hozzáadni, adja hozzá a következő kódot a .bashrc
fájlhoz:
# 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
Ha a .NET CLI-hez tartozó zsh-felülethez tabulátorkitöltést szeretne hozzáadni, adja hozzá a következő kódot a .zshrc
fájlhoz:
# 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
Hal
Ha a .NET CLI-hez tartozó halhéjhoz tabulátorkitöltést szeretne hozzáadni, adja hozzá a következő kódot a config.fish
fájlhoz:
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"
nushell
Ha a .NET CLI-hez tartozó nushellhez tabulátorkitöltést szeretne hozzáadni, adja hozzá a következőt a config.nu
fájl elejéhez:
let external_completer = { |spans|
{
dotnet: { ||
dotnet complete (
$spans | skip 1 | str join " "
) | lines
}
} | get $spans.0 | each { || do $in }
}
Ezután keresse meg a szakaszt a config
completions
rekordban, és adja hozzá a external_completer
korábban definiált szakaszt a következőhöz external
:
let-env config = {
# your options here
completions: {
# your options here
external: {
# your options here
completer: $external_completer # add it here
}
}
}