2013-04-23 4 views
3

Я разработал плагин eclipse в xtext, и мне нужно написать некоторые сообщения в консоли. Чтобы сделать это, я видел этот сайт http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F и затем я реализовал этот код:конец кнопки в консоли моего плагина eclipse

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 MessageConsoleStream getMessageStream() { 
    MessageConsole myConsole = findConsole("console"); 
    if (myConsole != null) { 

     IWorkbench wb = PlatformUI.getWorkbench(); 
     IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); 
     IWorkbenchPage page = win.getActivePage(); 
     String id = IConsoleConstants.ID_CONSOLE_VIEW; 
     IConsoleView view; 
     try { 

      view = (IConsoleView) page.showView(id); 
      view.display(myConsole); 

      return myConsole.newMessageStream(); 
     } catch (PartInitException e) { 
      e.printStackTrace(); 
     } 
    } 
    return null; 
} 

Я добавил org.eclipse.ui.console в plugin.xml> зависимости> необходимые плагины.

Когда я хочу напечатать некоторое сообщение: MessageConsoleStream out = getMessageStream(); out.println (...);

И он работает. Но мне нужна «кнопка завершения» на моей консоли, и кажется, что этого кода недостаточно. Как я могу это сделать? Спасибо.

ответ

1

Это не имеет никакого отношения к консоли. Вы хотите создать viewContribution, который просто добавляет кнопку в область панели инструментов существующего вида. Существует также example on stackoverflow. Или вы можете обратиться к Eclipse help on that topic.

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