eclipse插件:在控制台中运行命令,获取标准输入

时间:2012-06-19 02:46:54

标签: eclipse eclipse-plugin eclipse-pde

我正在创建一个eclipse插件,我想运行一个系统命令,并将命令的输出转到eclipse控制台。我知道如何通过http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F

执行此操作

我不知道如何解决的问题是允许来自控制台的交互式输入命令。

本质上,我想启动一个在控制台中运行的命令。用户可以与此命令交互(通过stdin)。然后我希望我的插件代码在命令完成时获得回调(或者用户在控制台中手动停止/终止了命令)。获取已完成程序的返回代码也很不错。

为简单起见,我们使用unix'passwd'命令作为示例(这是我能想到的第一个常见的cmd,它既有输出又提示输入)。但是我不需要隐藏标准输入。

作为参考,我试图调用的命令是CakePHP bake shell

1 个答案:

答案 0 :(得分:0)

我认为你有自己的MessageConsole,就像常见问题解答一样。然后应该可以在循环中使用messageConsole.getInputStream().read()来获取您的输入(但我没有对此进行测试)。有关更多选项,另请参阅IOConsoleInputStream的文档。

另一方面,我不确定你为什么要创建自己的插件来做到这一点。 Eclipse中的标准控制台实现完全符合您的要求。您可以通过运行一个小型Java应用程序来查看,您也可以使用该控制台进行输入和输出。