我实际上是将我的Workspace从3.x迁移到Eclipse e4版本。我使用模型碎片创建了一个新菜单,如下面link 下的“第7.6节。创建模型贡献”中所述。
通过这些步骤,菜单项已成功创建,但仍保持禁用状态:(即使默认情况下已选中启用[]复选框。
这背后的原因可能是什么?
我使用的Fragment.e4xmi代码是:
<fragment:ModelFragments xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:commands="http://www.eclipse.org/ui/2010/UIModel/application/commands" xmlns:fragment="http://www.eclipse.org/ui/2010/UIModel/fragment" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_c8CZsFVoEeWXIM1iTwboYg">
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_ylQWEFYyEeWz-PkqHRIpVg" featurename="commands" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="commands:Command" xmi:id="_CqXYcFYzEeWz-PkqHRIpVg" elementId="test_emf_project.command.sample" commandName="Sample"/>
</fragments>
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_HPsk0FYzEeWz-PkqHRIpVg" featurename="Handlers" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="commands:Handler" xmi:id="_KcOLMFYzEeWz-PkqHRIpVg" elementId="test_emf_project.handler.0" contributionURI="bundleclass://Test_EMF_Project/com.ami.launch.HandlerImplementation" command="_CqXYcFYzEeWz-PkqHRIpVg"/>
</fragments>
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_Q9KvsFYzEeWz-PkqHRIpVg" featurename="menuContributions" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="menu:MenuContribution" xmi:id="_VRqDsFYzEeWz-PkqHRIpVg" elementId="test_emf_project.menucontribution.0" parentId="org.eclipse.ui.main.menu">
<children xsi:type="menu:Menu" xmi:id="_gzz4QFYzEeWz-PkqHRIpVg" elementId="test_emf_project.menu.custommenu" label="Custommenu">
<children xsi:type="menu:HandledMenuItem" xmi:id="_vHCtUFYzEeWz-PkqHRIpVg" elementId="test_emf_project.handledmenuitem.openDialog" label="Open Dialog" iconURI="" command="_CqXYcFYzEeWz-PkqHRIpVg"/>
</children>
</elements>
</fragments>
</fragment:ModelFragments>
答案 0 :(得分:0)
您的&#39;功能名称&#39;对于处理程序片段设置为Handlers
- 它应该全部为小写handlers
。