Top / Eclipse / プラグイン開発のTIPS集 / Eclipseのコンソールにメッセージを出力する

Eclipseのコンソールにメッセージを出力する方法です。あんまり情報が無かったのですが、ネットにあるソースどれを見てもこんな感じみたいですね。

public void printConsole(String message) {
    MessageConsole myConsole = findConsole(ProxyConstant.CONSOLE_ID);
                                           ↑コンソールに命名したなにかID
    MessageConsoleStream out = myConsole.newMessageStream();
    out.println(message);
}

こんな感じでIDベースでコンソールのポインタを取得してメッセージを渡してあげればOKです。このIDベースのMessageConsole?たちは下記のように IConsoleManager? というクラスが管理しています。

public MessageConsole findConsole(String name) {
    ConsolePlugin plugin = ConsolePlugin.getDefault();
    IConsoleManager conMan = plugin.getConsoleManager();
    IConsole[] existing = conMan.getConsoles();
    for (int i = 0; i < existing.length; i++)
        if (name.equals(existing[i].getName()))
            return (MessageConsole) existing[i];
    // no console found, so create a new one
    MessageConsole myConsole = new MessageConsole(name, null);
    conMan.addConsoles(new IConsole[] { myConsole });
    return myConsole;
}

参考: openforce > eclipseのコンソールに出力する方法

ちなみにコンソールView自体を表示するには以下のようにIConsoleView?#displayメソッドを使えばよいようです。

public void showConsole(IWorkbenchPage page) throws PartInitException {
    IConsoleView view = (IConsoleView) page
            .showView(IConsoleConstants.ID_CONSOLE_VIEW);
    view.display(findConsole(ProxyConstant.CONSOLE_ID));
}

この記事は

選択肢 投票
おもしろかった 12  
そうでもない 1  

Top / Eclipse / プラグイン開発のTIPS集 / Eclipseのコンソールにメッセージを出力する

現在のアクセス:13438


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-18 (火) 18:30:20 (2273d)