如何以编程方式访问Eclipse stacktrace控制台的内容?

时间:2013-06-06 21:31:25

标签: eclipse-plugin eclipse-rcp

我想知道如何访问Eclipse IDE的堆栈跟踪控制台?我试图将IConsole对象转换为MessageConsole来获取内容,但它显示了强制转换异常。任何帮助将不胜感激。

 
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager conMan = plugin.getConsoleManager();
IConsole[] existing = conMan.getConsoles();

for (int i = 0; i < existing.length; i++) {
    try {
        MessageConsole myconsole=(MessageConsole)existing[i];
        System.out.println(myconsole.getDocument().get());
    } catch(Exception exc) {
        exc.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:1)

MessageConsole只是IConsole界面的许多可能实现之一。尝试强制转换为TextConsole(org.eclipse.ui.console.TextConsole)。 TextConsole是许多常见控制台类的超类(但可能还有一些控制台实现,它们有另一个基类):

TextConsole myconsole = (TextConsole) existing[i];