我正在使用动态MenuContribution
,并得到警告说我的两个引用标识符“无法找到”。即使贡献有效。这些警告让我烦恼。动态MenuContribution - 获取警告
我在我的一个插件中定义了一个实现。基本上,它看起来是这样的:
public class ViewerHistoryMenuItems extends CompoundContributionItem
implements IExecutableExtension {
private static final String PARAM_TYPE = "type";
private static final String PARAM_COMMAND = "command";
// some fields
public void setInitializationData(final IConfigurationElement config,
final String propertyName, final Object data) {
/* set fields */
}
protected final IContributionItem[] getContributionItems() {
/* create Items */
}
}
在其他插件我用这个ContributionItem
实现通过声明如下:在问题 - 视图
<menuContribution locationURI="menu:mylocationUri">
<dynamic id="myId">
<class class="ViewerHistoryMenuItems">
<parameter
name="type"
value="someValue">
</parameter>
<parameter
name="command"
value="someCommandId">
</parameter>
</class>
</dynamic>
<command
commandId="someCommandId"
icon="anIcon.png">
</command>
</menuContribution>
当寻找我得到两个条目有(每个插件in,which use this contribution):
**Referenced identifier 'type' in attribute 'name' cannot be found**
**Referenced identifier 'command' in attribute 'name' cannot be found**
我在这里错过了什么?任何想法,为什么我得到这个警告?
PS:这没有帮助,使这两个领域PARAM_TYPE
& PARAM_COMMAND
公众
它说“名称是参数的名称......”所以我想我使用了它,并且调用了一个参数“type”和另一个“command”。但我想,我必须更多地考虑你的深刻答案,VonC。 – pimpf0r 2010-02-17 12:17:52
@ pimpf0r:就是这样:我不确定“参数的名称”可以引用任何* internal *字段类。在声明模式下,比如'plugin.xml',我希望参数在所述'plugin.xml'的其他地方定义好。 – VonC 2010-02-17 12:50:53
好吧,我想我找到了“别处”。在这种情况下的其他地方意味着:定义/声明参考命令的位置。我在我的动态声明中提到同一个plugin.xml中的一个命令。但是添加的参数没有在那里声明。 感谢您的帮助,VonC。 * high5 * – pimpf0r 2010-02-17 13:41:46