zoukankan      html  css  js  c++  java
  • 如何为 .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

  • 相关阅读:
    【郑轻邀请赛 G】密室逃脱
    【郑轻邀请赛 C】DOBRI
    【郑轻邀请赛 F】 Tmk吃汤饭
    【郑轻邀请赛 I】这里是天堂!
    【郑轻邀请赛 B】base64解密
    【郑轻邀请赛 A】tmk射气球
    【郑轻邀请赛 H】 维克兹的进制转换
    解决adb command not found以及sdk环境配置
    adb shell 命令详解,android, adb logcat
    Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
  • 原文地址:https://www.cnblogs.com/weihanli/p/enable-tab-autocomplete-for-dotnet-cli.html
Copyright © 2011-2022 走看看