.NET控制台应用程序选项卡完成

Ada*_*ile 13 .net console

关于如何为.NET(C#)控制台应用程序实现制表符完成的任何想法?我的意思是在一个运行的应用程序中然后循环用户输入(如果你运行没有任何参数的ftp.exe),如下所示:

        string line = string.Empty;
        while (line != "exit")
        {
            //do something here
            Console.ReadLine();
        }
Run Code Online (Sandbox Code Playgroud)

我知道我可能实际上不能使用readline,但我希望能够在您从用户检索输入的同一点完成制表符.

Lar*_*lum 8

做一个Console.ReadKey().

如果您获得了Tab,请查看命令缓冲区中的内容,并循环使用可用命令.如果someCommand.Name.BeginsWith(currentinput),您有一个胜利者,您可以写入屏幕上的可能命令列表.

如果只有一个(TM),您可以用用户键入的内容替换它:)


ken*_*nny 5

看一下Mono项目中的代码 http://tirania.org/blog/archive/2008/Aug-26.html 我前几天玩过它.它做了很多命令行编辑,但我不认为它完成了行.


Fáb*_*ira 5

我创建了一个小型lib来将此功能添加到我制作的应用程序中:

https://github.com/fjunqueira/hinter

它可能不适合您的需求,但您可以随意编辑它.