加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:14:58 所属栏目:百科 来源:网络整理
导读:如何为 .NET Core CLI 启用 TAB 自动补全功能 Intro 在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 dotnet cli 也可以,从.NET Core 2.0 SDK 开始,NET Core CLI 支持 tab 自动补全。你如果

如何为 .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 a? dotnet add add 是第一项子命令,按字母排序。
dotnet add p? dotnet add --help Tab 自动补全匹配子字符串,--help 首先按字母顺序排列。
dotnet add p?? dotnet add package 第二次按 Tab 将显示下一条建议。
dotnet add package Microsoft? dotnet add package Microsoft.ApplicationInsights.Web 结果按字母顺序返回。
dotnet remove reference ? dotnet remove reference ....srcOmniSharp.DotNetOmniSharp.DotNet.csproj Tab 自动补全是可识别的项目文件。

启动 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%DocumentsWindowsPowerShell 目录,
在这个目录下会有一个 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 ,其他的命令就自己去尝试一下吧~~

如此好用的功能还不快快启用~

Reference

  • https://docs.microsoft.com/en-us/dotnet/core/tools/enable-tab-autocomplete
  • https://docs.microsoft.com/zh-cn/dotnet/core/tools/enable-tab-autocomplete

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读