首页 文章

如何使用Eclipse RCP命令框架使用默认保存操作保存命令?

提问于
浏览
3

Eclipse RCP命令框架旨在将操作框架替换为允许插件向工作台提供UI命令的机制 . 除了定义新命令外,插件还可以为默认RCP命令提供处理程序,例如"org.eclipse.ui.file.save"(这里的默认命令的完整列表:http://svn2.assembla.com/svn/eclipsecommands/trunk/EclipseCommands/contents/article.html) .

使用默认命令带来了标准键绑定和图标的优点,并且在某些情况下还具有使用内置Eclipse操作的能力 .

例如,可以使用plugin.xml中的以下代码段将默认编辑器保存命令添加到“文件”菜单:

<extension point="org.eclipse.ui.menus">
  <menuContribution locationURI="menu:file">
    <command commandId="org.eclipse.ui.file.save"
             style="push">
    </command>
  </menuContribution>
</extension>

然后可以通过在plugin.xml中的处理程序扩展点中添加处理程序定义来为此命令定义处理程序 . 但是,如果贡献的编辑器实现IEditorPart,则应该可以简单地使用内置的Eclipse保存操作(负责跟踪活动编辑器和脏属性更新),而不是定义新的处理程序 . 使用内置保存操作需要哪些进一步的步骤?

1 回答

  • 5

    必须调用ActionBarAdvisor.register()以使保存操作可用 . 例如:

    public class MyActionBarAdvisor extends ActionBarAdvisor {
      public MyActionBarAdvisor(IActionBarConfigurer configurer) {
        super(configurer);
      }
      protected void makeActions(final IWorkbenchWindow window) {
        register(ActionFactory.SAVE.create(window));
      }
    }
    

    鉴于问题中添加了plugin.xml,现在将为任何活动编辑器调用内置保存处理程序 .

相关问题