Machen win C # Konsolenanwendung posibile Befehl zu zeigen, wenn der Benutzer TAB getroffen

StackOverflow https://stackoverflow.com/questions/1821042

  •  10-07-2019
  •  | 
  •  

Frage

I Konsolenanwendung mit vielen Parametern in C # entwickle und irgendwann, als ich Entwickler kann nicht Kombination von Parametern erinnert Anwendung in der richtigen Art und Weise zu nennen, kann ich nicht einmal und denke, wie die Benutzer es tun werden. So bat ich Sie da ist und was die richtige (schulischen) Weg, um meine Anwendung handeln, wie jene UNIX OS zu machen. Sie wissen, was ich das zu erreichen versuchen, ist, wenn die Anwendung Benutzeraufruf und danach, wenn eine TAB dann Liste der möglichen Befehle erhalten getroffen, nach der Wahl eines Befehls wieder eine Registerkarte getroffen und referent Liste der Parameter und andere Befehle erhalten.

War es hilfreich?

Lösung

Entwickeln Sie Ihre Anwendung als Powershell-Cmdlets . Powershell bereits Tab-Vervollständigung Infrastruktur integriert. Zum Beispiel, wenn Sie die folgenden für die Richt CmdLet tun:

dir - Tab

dann schlagen Tab wiederholt werden durch die möglichen Optionen für den dir Befehl:

  • dir -Path
  • dir -LiteralPath
  • dir -Filter
  • dir -Include

Etcetera.

Andere Tipps

Ich denke, der einfachste Weg, dies zu tun, ist die Console.ReadKey Methode. Auf diese Weise können Sie die Tab-Taste erhalten, sobald sie vom Benutzer gedrückt wird. Sie können dann diesen Tastendruck behandeln und wenn es ein Register ist, den aktuellen Kontext bestimmen und die Befehle gegebenenfalls ausdrucken.

Wenn ich mich richtig zu verstehen, wollen Sie die programmierbare Befehlszeile Abschluss in zsh (Z-Shell) imitieren.

Leider wird diese Funktionalität in die Schale eingebaut, obwohl es auch programmierbar ist; die Fertigstellung, die dort geschieht tatsächlich passiert, bevor das Programm wurde in Betrieb genommen.

Wenn Sie zsh unter Windows ausgeführt wurden, die mit Cygwin möglich sein sollte, könnten Sie es programmieren mit Kommandozeilen-Abschluss zu unterstützen.

Ansonsten denke ich, dass Ihre einzige Option ist eine Art interaktiver Sitzung zu starten, sobald das Programm wurde in Betrieb genommen; zum Beispiel alle Optionen drucken, wenn das Programm gestartet wird, und für den Benutzer warten einen der Parameter einzugeben, und alle folgenden möglichen Parameterkombinationen zeigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top