【问题标题】:Command menu contribution adds parameter names to the label命令菜单贡献将参数名称添加到标签
【发布时间】:2017-03-29 09:39:02
【问题描述】:

我有以下menuContribution,将一个命令添加到Tree 的上下文菜单中。有两个技术参数expanduseSelection

<menuContribution
    locationURI="popup:com.softmodeler.ui.editors.StructureCompareEditor?after=additions">
 <command
       commandId="softmodeler.cmd.refreshViewer"
       id="softmodeler.cmd.refreshViewer"
       style="push">
    <parameter
          name="expand"
          value="1">
    </parameter>
    <parameter
          name="useSelection"
          value="true">
    </parameter>
 </command>
</menuContribution>

这在Tree 中显示如下:

知道如何去掉标签中的参数名称吗?

我可以在command 上设置label 属性,但是我会有多余的标签(支持四种UI 语言,试图防止冗余)。

【问题讨论】:

    标签: java eclipse eclipse-plugin eclipse-rcp contextmenu


    【解决方案1】:

    您需要提供一个标签属性,否则将使用此默认标签。对于本地化,在属性值中使用%label 并为每种语言提供plugin.properties 文件(但我猜你已经知道了)。据我所知,这是最好的。

    或者,您可以通过编程方式创建菜单贡献,提供ExtensionContributionFactory。在createContributionItems() 方法中,您应该能够从所需命令创建贡献项,同时将命令名称重新用作标签。这当然会在菜单显示后立即激活您的插件。

    【讨论】:

    • 不是我希望的答案,是的,我知道本地化。我只是希望只在命令上定义一次标签,尤其是我想在不同菜单中使用的这个命令,这意味着要维护 x 个标签。我会留下这个问题,以防有人知道黑客/解决方法。
    • 当然,我过去也遇到过这种冗余。我能想到的最好的办法是对引用相同命令的所有菜单使用相同的%label
    • 刚刚遇到相同的解决方案,想发布答案并看到您的评论。幸运的是,命令和菜单声明都在同一个 plugin.xml 中。现在就可以完成这项工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2011-10-10
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多