2013-04-23 3 views
3

xtext에서 이클립스 플러그인을 개발했으며 콘솔에 일부 메시지를 작성해야합니다. 는이 사이트 http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F을 본 후 나는이 코드를 구현 한 것을해야 할 일 : 나는> 종속성> 필요한 플러그인의 plugin.xml에 org.eclipse.ui.console 추가 한내 이클립스 플러그인의 콘솔에서 버튼을 종료

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; 
} 

.

메시지를 인쇄 할 때 : MessageConsoleStream out = getMessageStream(); out.println (...);

그리고 작동 중입니다. 하지만 내 콘솔에 "종료 버튼"이 필요하고이 코드가 충분하지 않은 것 같습니다. 어떻게하면됩니까? 감사합니다. .

답변

관련 문제