16

.NET(C#)コンソールアプリケーションのタブ補完を実装する方法について何かアイデアはありますか?そして、私は、次のように、実行されてからユーザー入力をループするアプリケーション内を意味します(引数なしでftp.exeを実行する場合など)。

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

おそらく実際にはreadlineを使用できなかったと思いますが、ユーザーから入力を取得するのと同じポイントでタブ補完を実行できるようにしたいと思います。

4

5 に答える 5

9

Console.ReadKey() を実行します。

タブを取得した場合は、コマンド バッファーにあるものを調べて、使用可能なコマンドをループします。の場合someCommand.Name.BeginsWith(currentinput)、勝者があり、可能なコマンドのリストを画面に書き込むことができます。

(TM)が1つしかない場合は、ユーザーが入力したものに置き換えることができます:)

于 2008-09-06T15:56:53.503 に答える
6

私が作成したアプリにこの機能を追加するために、小さなライブラリを作成しました。

https://github.com/fjunqueira/hinter

ニーズに合わないかもしれませんが、自由に編集できます。

于 2016-07-14T20:43:32.317 に答える
5

Mono プロジェクト http://tirania.org/blog/archive/2008/Aug-26.htmlのこのコードを見てください 。多くのコマンドライン編集を行いますが、行補完を行うとは思いません。

于 2008-09-05T17:49:20.963 に答える
4

Console.ReadKey

于 2008-09-05T17:25:43.657 に答える