【问题标题】:Add custom console to Eclipse console list将自定义控制台添加到 Eclipse 控制台列表
【发布时间】:2015-04-22 15:38:15
【问题描述】:

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

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

public void createConsole(String name) {
    ConsolePlugin plugin = ConsolePlugin.getDefault();
    IConsoleManager consoleManager = plugin.getConsoleManager();

    console = new MessageConsole(name, null);
    consoleManager.addConsoles(new IConsole[]{console});
}

然后我可以使用这种方法打印消息:

public void print(String msg) {
    MessageConsoleStream out = console.newMessageStream();
    out.println(msg);
}

我也使用这种方法将控制台视图置于最前面:

public void bringToFront() {
    try{
        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
        String id = IConsoleConstants.ID_CONSOLE_VIEW;
        IConsoleView view = (IConsoleView) page.showView(id);
        view.display(console);
    } catch(PartInitException e) {
        e.printStackTrace();
    }
}

有什么建议吗?

【问题讨论】:

  • 我看到你对 SO 比较陌生。如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的旧帖子上。

标签: eclipse-plugin console eclipse-rcp


【解决方案1】:

要向控制台视图添加新的类型控制台,您需要提供consoleFactories 扩展名:

<extension
      point="org.eclipse.ui.console.consoleFactories">
   <consoleFactory
         class="com.example.MyConsoleFactory"
         icon="icons/etool16/my-console.png"
         label="My Console">
   </consoleFactory>
</extension>

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

class ConsoleFactory implements IConsoleFactory {
  @Override
  public void openConsole() {
    IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
    MyConsole console = new MyConsole();
    consoleManager.addConsoles( new IConsole[] { console } );
    consoleManager.showConsoleView( console );
  }
}

【讨论】:

  • 它有效,谢谢。还有一个问题,现在我的新控制台显示出来了,但它位于列表的底部(在“新控制台视图”选项下方),你知道如何重新定位列表中的视图吗?我正在检查文档,但他们没有提及任何内容:help.eclipse.org/juno/…
  • 很遗憾,无法影响下拉菜单中的位置。
猜你喜欢
  • 2012-05-18
  • 2021-06-11
  • 2014-04-22
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
相关资源
最近更新 更多