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

时间:2020-03-05 18:48:22  来源:igfitidea点击:

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

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

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

解决方案

回答

Console.ReadKey

回答

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

回答

做一个Console.ReadKey()。

如果获得选项卡,请查看命令缓冲区中的内容,然后遍历可用命令。如果是" someCommand.Name.BeginsWith(currentinput)",则我们有一个获胜者,可以编写屏幕显示可能的命令列表。

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