Eclipse plugin 将自定义控制台添加到Eclipse控制台列表

Eclipse plugin 将自定义控制台添加到Eclipse控制台列表,eclipse-plugin,console,eclipse-rcp,Eclipse Plugin,Console,Eclipse Rcp,基于此,我正在创建一个Eclipse插件,它提供了一个新的控制台,控制台被添加到视图中,我可以在那里打印消息,但由于某些原因,它没有添加到控制台列表中(视图角落中的下拉列表,见下图) 这就是我创建控制台的方式: public void createConsole(字符串名称){ ConsolePlugin plugin=ConsolePlugin.getDefault(); IConsoleManager consoleManager=plugin.getConsoleManager(); co

基于此,我正在创建一个Eclipse插件,它提供了一个新的控制台,控制台被添加到视图中,我可以在那里打印消息,但由于某些原因,它没有添加到控制台列表中(视图角落中的下拉列表,见下图)

这就是我创建控制台的方式:

public void createConsole(字符串名称){
ConsolePlugin plugin=ConsolePlugin.getDefault();
IConsoleManager consoleManager=plugin.getConsoleManager();
console=newmessageconsole(名称,空);
addConsoles(新的IConsole[]{console});
}
然后我可以使用以下方法打印邮件:

public void打印(字符串msg){
MessageConsoleStream out=console.newMessageStream();
out.println(msg);
}
我还使用此方法将console视图置于最前面:

public void bringToFront(){
试一试{
IWorkbenchPage=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
字符串id=IConsoleConstants.id\u控制台\u视图;
IConsoleView视图=(IConsoleView)页面。显示视图(id);
视图.显示(控制台);
}捕获(PartInite异常){
e、 printStackTrace();
}
}

有什么建议吗?

要在console视图中添加新类型的console,您需要提供一个
ConsoleFactorys
扩展:


factory类需要为
openConsole
提供一个实现,在该实现中创建并显示控制台,就像您在现有代码中所做的那样:

类ConsoleFactory实现IConsoleFactory{
@凌驾
公共void openConsole(){
IConsoleManager consoleManager=ConsolePlugin.getDefault().getConsoleManager();
MyConsole控制台=新的MyConsole();
addConsoles(新的IConsole[]{console});
consoleManager.showConsoleView(控制台);
}
}

我看你对这方面还比较陌生。如果您认为答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的老帖子上。这很有效,谢谢。还有一个问题,现在显示我的新控制台,但它位于列表底部(“新控制台视图”选项下方),您知道如何在列表中重新定位视图吗?我正在查看文档,但它们没有提到任何内容:不幸的是,不可能影响下拉菜单中的位置。