美文网首页Amazing .NET.NET CoreASP.NET Core见识录
如何为 .NET Core CLI 启用 TAB 自动补全功能

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

作者: 天天向上卡索 | 来源:发表于2019-01-26 13:50 被阅读1次

    如何为 .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 ..\..\src\OmniSharp.DotNet\OmniSharp.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%\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 ,其他的命令就自己去尝试一下吧~~

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

    Reference

    相关文章

      网友评论

        本文标题:如何为 .NET Core CLI 启用 TAB 自动补全功能

        本文链接:https://www.haomeiwen.com/subject/juoljqtx.html