사용자가 적중 할 때 Posibile 명령을 표시하려면 Win C# 콘솔 응용 프로그램을 작성하십시오.
-
10-07-2019 - |
문제
많은 매개 변수가있는 C#에서 콘솔 애플리케이션을 개발 중이며 언젠가는 개발자로서 올바른 방식으로 응용 프로그램을 호출 할 매개 변수 조합을 기억할 수 없으며 사용자가 어떻게 할 수 없는지 생각할 수 없습니다. 그래서 나는 당신에게 묻는 질문이며 내 응용 프로그램이 Unix OS와 같이 행동하게하는 적절한 (Scholastic) 방법이 될 것입니다. 내가 달성하려는 것은 사용자를 호출 할 때 응용 프로그램을 누르면 탭을 누르면 가능한 명령 목록을 가져 오면 선택 후 명령 중 하나가 다시 탭을 누르고 매개 변수 및 기타 명령의 참조 목록을 가져옵니다.
해결책
응용 프로그램을 a로 개발하십시오 PowerShell cmdlet. PowerShell에는 이미 탭 완성 인프라가 내장되어 있습니다. 예를 들어, dir cmdlet에 대해 다음을 수행하는 경우 :
dir -
탭
그런 다음 타격 탭 가능한 옵션을 반복적으로 순환합니다 dir
명령:
- dir -path
- dir -literalpath
- DIR -FILTER
- dir -include
기타.
다른 팁
이것을하는 가장 쉬운 방법은 콘솔. 읽기 키 방법. 이렇게하면 사용자가 눌렀을 때 탭 키를 얻을 수 있습니다. 그런 다음 해당 키 스트로크를 처리하고 탭 인 경우 현재 컨텍스트를 결정하고 명령을 적절하게 인쇄 할 수 있습니다.
내가 올바르게 이해하고 있다면 zsh (z shell)에서 프로그래밍 가능한 명령 줄 완료를 모방하려고합니다.
불행히도,이 기능은 쉘에 내장되어 있지만 프로그래밍 가능합니다. 프로그램이 시작되기 전에 실제로 발생하는 완료가 실제로 발생합니다.
Cygwin에서 가능한 Windows에서 ZSH를 실행중인 경우 CommandLine 완료를 지원하도록 프로그램 할 수 있습니다.
그렇지 않으면 나는 당신의 유일한 옵션은 프로그램이 시작되면 일종의 대화식 세션을 시작하는 것입니다. 예를 들어, 프로그램이 시작될 때 모든 옵션을 인쇄하고 사용자가 매개 변수 중 하나를 입력 할 때까지 기다린 다음 가능한 모든 매개 변수 조합을 표시합니다.