Assurez-vous que l'application console Win C # affiche la commande posibile lorsque l'utilisateur appuie sur la touche de tabulation

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

  •  10-07-2019
  •  | 
  •  

Question

Je développe une application console en C # avec beaucoup de paramètres et parfois, en tant que développeur, je ne me souviens pas de la combinaison de paramètres pour appeler une application correctement, je ne peux même pas et ne pense pas à la façon dont les utilisateurs le feront. Je vous demande donc quelle est la manière appropriée (scolastique) de faire en sorte que ma demande ressemble à celle des systèmes d'exploitation Unix. Vous savez ce que j'essaie d'accomplir, c'est que lorsque l'utilisateur appelle une application, puis après une frappe de tabulation, obtient la liste des commandes possibles, après le choix, l'une des commandes est à nouveau accessible.

Était-ce utile?

La solution

Développez votre application en tant que CmdLet PowerShell . Powershell a déjà une infrastructure de complétion par onglets intégrée. Par exemple, si vous procédez comme suit pour le répertoire CmdLet:

dir - onglet

puis cliquez plusieurs fois sur Tab pour parcourir les options possibles de la commande dir :

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

Etcetera.

Autres conseils

Je pense que le moyen le plus simple de procéder consiste à utiliser Console.ReadKey . Cela vous permettra d’obtenir la touche de tabulation dès qu’elle l’aura appuyée. Vous pouvez ensuite gérer cette frappe et, s’il s’agit d’un onglet, déterminer le contexte actuel et imprimer les commandes, le cas échéant.

Si je comprends bien, vous souhaitez imiter l'achèvement de la ligne de commande programmable en zsh (shell Z).

Malheureusement, cette fonctionnalité est intégrée au shell, même si elle est également programmable. l'achèvement qui s'y produit se produit réellement avant le démarrage du programme.

Si vous utilisiez zsh sous Windows, ce qui devrait être possible avec Cygwin, vous pouvez le programmer pour vous aider à compléter la ligne de commande.

Sinon, je pense que votre seule option est de démarrer une sorte de session interactive une fois le programme démarré. Par exemple, imprimez toutes les options au démarrage du programme et attendez que l'utilisateur entre l'un des paramètres, puis affichez toutes les combinaisons de paramètres possibles suivantes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top