让赢C#控制台应用程序,以显示posibile命令时打卡
-
10-07-2019 - |
题
我正在开发控制台应用程序的许多参数,有时我作为开发者可能不记得组合参数,以呼应用程序正确的方式,我甚至不能,并认为用户将如何做它。所以我问你有没有和什么将是适当的(学校)的方式使我应用程序的行为就像那些UNIX操作系统。你知道我试图完成的任务是,当电话用户应用程序及之后的时候打一个标签,然后获得列可能的命令,之后选择一项命令,再次打了一个选项,并得到参考列表中的参数和其他命令。
解决方案
开发应用程序作为一个 PowerShell命.Powershell已经签完成建设的基础设施。例如,如果你这样做以下用于dir主题
dir -
卡
然后击中 卡 反复将通过循环的可能的选择 dir
命令:
- dir径
- dir-LiteralPath
- dir过滤器
- dir-包括
等等。
其他提示
我觉得这样做最简单的方法是使用的 Console.ReadKey 方法。这将让你尽快,因为它是由用户按下获取tab键。然后,可以处理该击键,并且如果它是一个选项卡,确定当前上下文,并打印出的命令为适当。
如果我理解正确,要模仿的zsh(Z壳)可编程命令行完成。
不幸的是,此功能内置于壳,虽然它也是可编程的;出现这种情况的程序已经启动之前,有曾经发生过。完成
如果你在Windows上运行的zsh,这应该是可能的Cygwin的,你可以设定让它帮助命令行补。
否则,我认为你唯一的选择就是一旦程序已经启动,开始一种交互式会话;例如,当打印程序启动的所有选项,并等待用户输入的参数之一,则显示所有以下可能的参数组合。
不隶属于 StackOverflow