Заполнение вкладки консольного приложения .NET - PullRequest
13 голосов
/ 05 сентября 2008

Есть идеи, как реализовать завершение табуляции для консольного приложения .NET (C #)? Я имею в виду приложение, которое запускается, а затем зацикливается на вводе пользователем (например, если вы запускаете ftp.exe без каких-либо аргументов), например:

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

Я знаю, что на самом деле я не мог использовать readline, но я хотел бы иметь возможность завершить табуляцию в той же точке, где вы получаете ввод от пользователя.

Ответы [ 4 ]

8 голосов
/ 06 сентября 2008

Do Console.ReadKey ().

Если вы получили вкладку, посмотрите, что у вас есть в буфере команд, и прокрутите доступные команды. Если someCommand.Name.BeginsWith(currentinput), у вас есть победитель, и вы можете написать на экране список возможных команд.

Если есть только один (ТМ) , вы можете заменить его тем, что набрал пользователь:)

5 голосов
/ 14 июля 2016

Я создал небольшую библиотеку, чтобы добавить эту функцию в приложение, которое я сделал:

https://github.com/fjunqueira/hinter

Это может не соответствовать вашим потребностям, но вы можете свободно редактировать его.

5 голосов
/ 05 сентября 2008

Посмотрите на этот код из проекта Mono http://tirania.org/blog/archive/2008/Aug-26.html Я играл с ним на днях. Он много редактирует из командной строки, но я не думаю, что он завершает строку.

4 голосов
/ 05 сентября 2008
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...