문제

.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) 사용자가 입력한 내용으로 대체할 수 있습니다 :)

내가 만든 앱에 이 기능을 추가하기 위해 작은 lib를 만들었습니다.

https://github.com/fjunqueira/hinter

귀하의 필요에 맞지 않을 수도 있지만 자유롭게 편집할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top