2017-02-01 5 views
1

Чтобы написать в консоли плагина, который я разрабатываю, я использую этот метод, который я нашел раньше. моя работаjava, readline с консоли плагина

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"); 

теперь я хочу прочитать из консоли. что мне делать?

ответ

0

Попробуйте позвонить getInputStream() на экземпляр MessageConsole, возвращенный с findConsole и идя оттуда. Read more about the input stream that's returned here.

+0

Метод 'MessageConsole'' getInputStream' всегда вызывает 'UnsupportedOperationException (« Message Console не поддерживает ввод пользователя »)' –

+0

@ greg-449 У меня нет большого опыта работы с плагинами eclipse, но, возможно, [этот ответ] (http://stackoverflow.com/a/10446896/4936696) может помочь – Bastiaanus

Смежные вопросы