继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何为 .NET Core CLI 启用 TAB 自动补全功能

慕码人8056858
关注TA
已关注
手记 1238
粉丝 350
获赞 1323

如何为 .NET Core CLI 启用 TAB 自动补全功能

Intro

在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 dotnet cli 也可以,从.NET Core 2.0 SDK 开始,NET Core CLI 支持 tab 自动补全。你如果已经装了 dotnet Core Sdk,但是不知道版本,可以在命令行中输入 dotnet --info 来查看版本信息。

使用示例

下面是 tab 自动补全提供的一些示例:

输入将变为因为
dotnet adotnet addadd 是第一项子命令,按字母排序。
dotnet add pdotnet add --helpTab 自动补全匹配子字符串,--help 首先按字母顺序排列。
dotnet add pdotnet add package第二次按 Tab 将显示下一条建议。
dotnet add package Microsoftdotnet add package Microsoft.ApplicationInsights.Web结果按字母顺序返回。
dotnet remove reference dotnet remove reference ..\..\src\OmniSharp.DotNet\OmniSharp.DotNet.csprojTab 自动补全是可识别的项目文件。

启动 TAB 自动补全功能

Powershell

要将 tab 自动补全添加到适用于 .NET Core CLI 的 PowerShell,请创建或编辑存储在变量 $PROFILE 中的配置文件。 有关详细信息,请参阅如何创建配置文件配置文件和执行策略

在 Powershell 中执行 notepad $profile 命令,会打开 $profile 配置文件,如果不能保存请尝试用管理员模式的powershell中执行。

将以下代码添加到配置文件中:

# PowerShell parameter completion shim for the dotnet CLI Register-ArgumentCompleter -Native -CommandName dotnet -ScriptBlock {     param($commandName, $wordToComplete, $cursorPosition)
         dotnet complete --position $cursorPosition "$wordToComplete" | ForEach-Object {
            [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
         }
 }

如果想看 $profile 配置文件,可以打开 %USERPROFILE%\Documents\WindowsPowerShell 目录,
在这个目录下会有一个 Microsoft.PowerShellISE_profile.ps1 的文件,这就是上面的配置文件

Bash

要将 tab 自动补全添加到适用于 .NET Core CLI 的 bash shell,请将以下代码添加到 .bashrc 文件:

vi ~/.bashrc
# bash parameter completion for the dotnet CLI_dotnet_bash_complete()
{  local word=${COMP_WORDS[COMP_CWORD]}

  local completions
  completions="$(dotnet complete --position "${COMP_POINT}" "${COMP_LINE}")"

  COMPREPLY=( $(compgen -W "$completions" -- "$word") )
}

complete -f -F _dotnet_bash_complete dotnet

使用一下

实际使用的效果就如上面的示例一般,如输入一个 dotnet a,然后按一下 TAB 键,命令就会自动补充为 dotnet add ,其他的命令就自己去尝试一下吧~~



作者:天天向上卡索
链接:https://www.jianshu.com/p/bc96281b4b56


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP