• 如何为 .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

  • 相关阅读:
    K8S学习笔记之k8s使用ceph实现动态持久化存储
    Linux学习笔记之Centos7 自定义systemctl服务脚本
    ELK学习笔记之Kibana权限控制和集群监控
    ELK学习笔记之ELK6.0 X-pack设置用户名和密码
    Linux学习笔记之rsync配置
    K8S学习笔记之Pod的Volume emptyDir和hostPath
    不小心删除了某个包的一部分,重新安装方法
    串口数据解析总结
    CMakeLists 链接库相关指令
    google 开源项目阅读计划
  • 原文地址:https://www.cnblogs.com/weihanli/p/enable-tab-autocomplete-for-dotnet-cli.html
Copyright © 2020-2023  润新知