我有一些额外的xml文件(包含标准的eclipse扩展)位于bundle之外。有没有办法可以将这些文件中的extns / extnpoints贡献给平台的扩展注册表?
我试过
`Platform.getExtensionRegistry.addContribution(..)`
但是该方法采用了一个我无法访问的masterToken对象,没有它就会给我一个例外。
答案 0 :(得分:0)
您必须使用一些内部方法。这是我的工作:
IExtensionRegistry reg = Platform.getExtensionRegistry();
Object ut = ((ExtensionRegistry)reg).getTemporaryUserToken();
IContributor cont = ContributorFactoryOSGi.createContributor(Platform
.getBundle(editor.getPluginId()));
if (!reg.addContribution(is, cont, false, null, null, ut))
Util.impossible("Contribution not added due to error"); //$NON-NLS-1$