2

システム コマンドを実行し、コマンドの出力を Eclipse コンソールに出力する Eclipse プラグインを作成しています。http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3Fでこれを行う方法を知っています

解決方法がわからない問題は、このコマンドのコンソールからの対話型入力を許可することです。

要するに、コンソールで実行するコマンドを開始したいのです。ユーザーは、(stdin を介して) このコマンドを操作できます。次に、コマンドが終了したとき (またはユーザーがコンソールでコマンドを手動で停止/終了したとき) に、プラグイン コードがコールバックを取得するようにします。完成したプログラムのリターン コードを取得するのもよいでしょう。

簡単にするために、UNIX の「passwd」コマンドを例として使用します (これは、出力と入力プロンプトの両方があると考えることができる最初の一般的なコマンドです)。ただし、標準入力を非表示にする必要はありません。

参考までに、呼び出そうとしているコマンドはCakePHP の bake shellです。

4

1 に答える 1

0

FAQ のように、MessageConsole を入手したと仮定します。その後、ループで使用して入力を取得できるはずですmessageConsole.getInputStream().read()(ただし、これはテストしていません)。その他のオプションについては、 IOConsoleInputStreamのドキュメントも参照してください。

一方、それを行うために独自のプラグインを作成する理由がわかりません。Eclipse の標準コンソール実装は、まさにあなたが望むことを行います。小さな Java アプリケーションを実行すると、そのコンソールを入力と出力にも使用できることがわかります。

于 2012-06-19T04:47:52.687 に答える