16

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

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

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

4

5 回答 5

9

做一个 Console.ReadKey()。

如果你得到一个选项卡,请查看命令缓冲区中的内容,然后循环浏览可用的命令。如果someCommand.Name.BeginsWith(currentinput),你有一个赢家,你可以写来筛选可能的命令列表。

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

于 2008-09-06T15:56:53.503 回答
6

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

https://github.com/fjunqueira/hinter

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

于 2016-07-14T20:43:32.317 回答
5

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

于 2008-09-05T17:49:20.963 回答
4

Console.ReadKey

于 2008-09-05T17:25:43.657 回答
0

https://github.com/tonerdo/readline是您所需要的。伟大的库可作为天才开发者 tonerdo 的 nuget。

于 2019-07-19T16:36:03.397 回答