我寫了一個可以工作的Eclipse插件。然而,發生的情況是,在運行期間,沒有顯示控制檯輸出。只有當過程完成後,輸出纔會顯示在控制檯中。下面是我的處理程序,它表現爲類型org.eclipse.ui.commands的擴展點:如何在長時間運行的Eclipse插件中管理控制檯輸出?
public class MyHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
...
MessageConsoleStream out = myConsole.newMessageStream();
...
IConsoleView view = (IConsoleView) page.showView(id);
view.display(myConsole);
...
out.println("output that only shows up at the end");
myConsole.activate();
...
// Slow process
...
out.println("everything is done");
return null;
}
}
所以當進程運行,沒有在控制檯中。最後,兩條輸出線都會彈出到視圖中。
我明顯在做控制檯的事情不正確,但我還沒有找到任何好的例子,我的實驗也沒有證明非常有成效。請指教。
給了out.flush()試試 – anq 2012-01-30 21:07:41
@anq,這不是在問題,但我確實在'真正'的代碼中嘗試刷新。我不得不把它放在一個「工作」,並修復它。 – Dale 2012-01-31 12:45:53