【问题标题】:Project Explore has replicated(duplicated) popup menu entry of Package ExplorerProject Explorer 已复制(重复)Package Explorer 的弹出菜单项
【发布时间】:2015-11-25 08:05:57
【问题描述】:

我是 Eclipse 中扩展创建的新手。我正在尝试向 Project Explorer 和 Package Explorer 添加相同的上下文菜单。

XXX_label 是菜单,XXX、YYY 和 ZZZ 是命令。

对于Link 中描述的项目资源管理器,我添加了项目资源管理器和包资源管理器的条目。

插件.xml

<plugin>     
<extension
     point="org.eclipse.ui.menus">
  <menuContribution
        allPopups="false"
        locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
     <menu
           id="XXX_Project"
           label="XXX_label">
     </menu>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:XXX_Project?after=additions">
     <command
           commandId="demoeeeeeeeemenu.XXX"
           id="XXX"
           label="XXX"
           style="push">
        <visibleWhen>
           <with
                 variable="activeMenuSelection">
              <iterate
                    ifEmpty="true"
                    operator="or">
                 //Only option to get the Project instance in core expression is adapt type!!
                 <adapt
                       type="org.eclipse.core.internal.resources.Project">
                 </adapt>
              </iterate>
           </with>
        </visibleWhen>
     </command>
     <command
           commandId="demoeeeeeeeemenu.YYY"
           label="YYY"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.ZZZ"
           label="ZZZ"
           style="push">
     </command>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:popup:org.eclipse.jdt.ui.PackageExplorer#PopupMenu?after=additions">
     <menu
           id="XXX_package"
           label="XXX_label">
     </menu>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:XXX_package?after=additions">
     <command
           commandId="demoeeeeeeeemenu.XXX"
           label="XXX"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.YYY"
           label="YYY"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.ZZZ"
           label="ZZZ"
           style="push">
     </command>
  </menuContribution>
</extension>
<extension
     point="org.eclipse.ui.commands">
  <command
        id="demoeeeeeeeemenu.XXX"
        name="XXX">
  </command>
  <command
        id="demoeeeeeeeemenu.YYY"
        name="YYY">
  </command>
  <command
        id="demoeeeeeeeemenu.ZZZ"
        name="ZZZ">
  </command>
</extension>
</plugin>

如何消除包资源管理器完成的额外输入? 任何帮助表示赞赏。

编辑: 我认为最好使用 locationURI="popup:org.eclipse.ui.popup.any?after=additions" 作为单个弹出条目,它将在包资源管理器、项目资源管理器和导航器中添加菜单条目。

【问题讨论】:

  • 字符串 popup:popup: 在 PackageExplorer 贡献中看起来不正确。
  • Greg,如果我删除了一个“弹出窗口:”,那么我将无法在包资源管理器中找到菜单项。
  • 你推荐 locationURI="popup:org.eclipse.ui.popup.any?after=additions" 吗?我四处寻找,发现了这个。此 URI 正在工作,而不是两个单独的菜单贡献,在一个菜单贡献中,我只能在项目资源管理器和包资源管理器中获取条目。
  • 您可以使用它,它也会将菜单添加到其他弹出窗口中。我相信包资源管理器的 locationURI 只是 'popup:org.eclipse.jdt.ui.PackageExplorer'
  • 是的。有了这个,我为我的任务制作了大量的核心表达。如果我只使用'popup:org.eclipse.jdt.ui.PackageExplorer',它可以按我想要的方式工作。谢谢格雷格..

标签: eclipse eclipse-rcp


【解决方案1】:

包资源管理器的位置 URI 是:popup:org.eclipse.jdt.ui.PackageExplorer

【讨论】:

    猜你喜欢
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2010-09-13
    • 1970-01-01
    相关资源
    最近更新 更多