迁移Eclipse RCP至4.x后,如何复用org.eclipse.ui.file.export命令?
Eclipse 3.x到4.x迁移:复用导出向导命令的解决方案
- 可以复用Eclipse原生的
org.eclipse.ui.file.export命令,无需手动实现处理器,只需正确绑定Eclipse提供的内置处理器即可解决菜单项禁用问题。
问题原因
Eclipse 3.x的命令处理器通过内部机制自动关联生效,但E4的命令系统要求显式绑定处理器。直接在Application.e4xmi中引用命令ID却未绑定对应处理器,就会导致菜单项处于禁用状态。
解决步骤
绑定原生处理器
打开Application.e4xmi,找到你添加的org.eclipse.ui.file.export命令,在命令的Handlers区域添加一个现有处理器,指定ID为org.eclipse.ui.internal.handlers.ShowExportWizardHandler。确保依赖正确
确认你的RCP应用的plugin.xml或产品配置中包含org.eclipse.ui插件,该插件提供了上述处理器以及导出向导的核心逻辑。验证效果
完成绑定后,点击File菜单中的导出项,会自动弹出包含你自定义导出向导的对话框,和3.x中的行为完全一致。
注意事项
- 不要在
e4xmi中重新创建org.eclipse.ui.file.export命令,直接引用已有ID即可,避免重复定义引发冲突。 - 若你的RCP是纯E4应用(不兼容3.x的兼容层),仍可通过上述方式绑定处理器,因为
org.eclipse.ui插件已适配E4环境。
内容的提问来源于stack exchange,提问作者Kildary Klein
相关产品推荐
相关产品推荐

