如何通过eclipse插件读取控制台输出文本?

如何通过eclipse插件读取控制台输出文本?,eclipse,eclipse-plugin,eclipse-rcp,Eclipse,Eclipse Plugin,Eclipse Rcp,我正在尝试编写一个Eclipse插件,当已经运行的LaunchConfiguration在控制台中打印用户预定义的字符串时,它将启动LaunchConfiguration 下面是我正在寻找的伪代码示例: String check = "Server started and running"; new ConsoleOutputListener(Event event) { String consoleText = even

我正在尝试编写一个Eclipse插件,当已经运行的
LaunchConfiguration
在控制台中打印用户预定义的字符串时,它将启动
LaunchConfiguration

下面是我正在寻找的伪代码示例:

            String check = "Server started and running";

            new ConsoleOutputListener(Event event) {
            String consoleText = event.getConsoleOutputTextOfAllConsoles();

                if(consoleText.contains(check)) {
                    //launch LaunchConfiguration 
                }

            }
有没有办法实现上面的示例?
我一如既往地感谢您的帮助

您的问题有点不清楚您到底想做什么,但您可能可以使用
org.eclipse.ui.console.consolePatternMatchListeners
扩展点在控制台上定义模式匹配侦听器

类似于(来自Eclipse帮助):


它匹配特定类型控制台上的正则表达式

控制台支持有许多扩展点,用于定义控制台的不同扩展类型

如果要更动态地执行此操作,可以使用
IConsoleManager
侦听正在创建的控制台:

IConsoleManager管理器=ConsolePlugin.getDefault().getConsoleManager();
//现有控制台
IConsole[]consoles=manager.getConsoles();
//侦听正在添加/删除的控制台
manager.addConsoleListener(控制台侦听器);

文本控制台将是
TextConsole
的一个实例。您可以使用
TextConsole
addPatternMatchListener
方法添加模式侦听器。

Hello Greg我编辑了问题并添加了一个示例。我认为你的解决方案不是我特别想要的,但也许你可以再看一下编辑过的问题。提前感谢。我认为您仍然需要使用模式匹配侦听器,但您可以通过侦听添加的控制台来动态设置。我已经更新了答案,对如何做到这一点有了一个提纲。它非常有效。感谢Greg在Stackoverflow的出色工作。