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