题
关于如何为 .NET (C#) 控制台应用程序实现制表符补全有什么想法吗?我的意思是在一个运行的应用程序中,然后循环获取用户输入(就像您在没有任何参数的情况下运行 ftp.exe 一样),如下所示:
string line = string.Empty;
while (line != "exit")
{
//do something here
Console.ReadLine();
}
我知道我可能实际上无法使用 readline,但我希望能够在检索用户输入的同一点完成制表符补全。
解决方案
看一下 Mono 项目中的这段代码http://tirania.org/blog/archive/2008/Aug-26.html前几天我玩过它。它做了很多命令行编辑,但我不认为它能完成行完成。
其他提示
执行 Console.ReadKey()。
如果您看到一个选项卡,请查看命令缓冲区中的内容,然后循环查看可用命令。如果 someCommand.Name.BeginsWith(currentinput)
, ,您有一个获胜者,您可以编写屏幕可能的命令列表。
如果 只有一个(TM) 您可以用用户输入的内容替换它:)
不隶属于 StackOverflow