【问题标题】:Eclipse plug-ins: What is the difference between action bars vs. menus, toolbars...?Eclipse 插件:操作栏与菜单、工具栏...有什么区别?
【发布时间】:2012-01-15 19:32:32
【问题描述】:

问题:关于 Eclipse 插件开发,在添加操作(特别是添加到 Java 编辑器)时,操作栏与菜单、工具栏...之间有什么区别?

我想向 Eclipse 中的 Java 编辑器添加操作。我在 org.eclipse.jdt.ui 中的“更改方法签名”操作之后对操作进行建模。起初,我以为我会简单地执行通常的org.eclipse.ui.menus 来添加一个菜单项,这对我的目的来说就足够了。在仔细阅读 org.eclipse.jdt.ui.actions.RefactorActionGroup 之后,我看到 RefactorActionGroup 类强调将操作放置在 Actions Bars 方法中

public void fillActionBars(IActionBars)

我在该主题上找到的唯一讨论是在 2006 article 引用 Eclipse 3.1:

在 Eclipse 行话中,“操作栏”是菜单的统称, 工具栏和状态栏。 ActionBar 顾问处理创建 这些位置内的操作。插件也可以贡献动作 动态地使用它的 plugin.xml 文件。参见清单 7 插件向导和表 7 提供的实现 方法。

虽然我很困惑。如果您要在任何情况下将操作显式添加为菜单,为什么像 org.eclipse.jdt.ui.actions.RefactorActionGroup 这样的代码示例会处理操作栏? Action Bars和其他添加动作的方式有什么关系......

谢谢。

【问题讨论】:

    标签: android menu eclipse-plugin android-actionbar eclipse-pde


    【解决方案1】:

    RefactorActionGroup 是一个遗留类(自 2.0 以来一直存在),org.eclipse.ui.menus 是在很久以后添加的。你应该坚持menus 扩展点。

    操作组的使用是直接的 - 每个编辑器都知道它需要哪些操作,并要求相应的操作组来创建这些操作。而通过 org.eclipse.ui.menus 扩展点的命令和菜单贡献是动态的 - 原始编辑器/视图不需要知道任何关于添加的内容。

    【讨论】:

      猜你喜欢
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多