【问题标题】:java, readline from a plugin consolejava,来自插件控制台的readline
【发布时间】:2017-02-01 12:26:55
【问题描述】:

为了在我正在开发的插件的控制台中编写,我使用了我之前找到的这种方法。 我的工作

private static MessageConsole findConsole(String name) {

    if (ConsolePlugin.getDefault() == null)
        return null;
    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())) {
            conMan.showConsoleView(existing[i]);
            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;
}

public static MessageConsoleStream getMessageStream() {
    MessageConsole myConsole = findConsole("console");
    if (myConsole != null) {
        IWorkbench wb = PlatformUI.getWorkbench();
        String id = IConsoleConstants.ID_CONSOLE_VIEW;
        return myConsole.newMessageStream();
    }
    return null;
}

我是这样使用的:

MessageConsoleStream out = Application.getMessageStream();
out.print("AB");

现在我想从控制台读取。 我该怎么办?

【问题讨论】:

    标签: java plugins eclipse-plugin


    【解决方案1】:

    尝试在从findConsole 返回的MessageConsole 实例上调用getInputStream() 并从那里开始。 Read more about the input stream that's returned here.

    【讨论】:

    • MessageConsole getInputStream 方法总是抛出 UnsupportedOperationException("Message Console does not support user input")
    • @greg-449 我对 Eclipse 插件没有太多经验,但 this answer 可能会有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多