问题:关于Eclipse插件开发,在添加操作(特别是Java编辑器)时,操作栏与菜单,工具栏之间有什么区别?
我想在Eclipse中向Java编辑器添加操作。我在org.eclipse.jdt.ui中找到的“更改方法签名”操作之后对操作进行建模。起初,我以为我会简单地按常规org.eclipse.ui.menus添加菜单项,这对我的目的来说已经足够了。在仔细阅读org.eclipse.jdt.ui.actions.RefactorActionGroup后,我发现RefactorActionGroup类将操作放在方法
中的操作栏中public void fillActionBars(IActionBars)
我在这个主题上发现的唯一讨论是2006 article引用Eclipse 3.1:
在Eclipse术语中,“操作栏”是菜单的全部术语, 工具栏和状态栏。 ActionBar Advisor处理创建 这些地点内的行动。插件也可以提供动作 动态使用其plugin.xml文件。请参见清单7 插件向导和表7提供的实现 方法
我很困惑。为什么像org.eclipse.jdt.ui.actions.RefactorActionGroup这样的代码示例会处理操作栏,如果您要在任何事件中将操作显式添加为菜单? Action Bars与其他添加动作的方式之间的关系是什么......
感谢。
答案 0 :(得分:3)
RefactorActionGroup
是一个遗留类(自2.0以来一直在 ),org.eclipse.ui.menus
之后被添加了很多。你应该坚持menus
扩展点。
动作组的使用是直接的 - 每个编辑都知道它需要哪些动作,并要求相应的动作组创建它们。而通过org.eclipse.ui.menus
扩展点的命令和菜单贡献是动态的 - 原始编辑器/视图不需要知道有关添加的任何内容。