使用objectContribution(弹出窗口)到CVS历史记录视图的任何已知问题/错误?它不起作用

时间:2010-07-14 10:31:26

标签: java eclipse eclipse-plugin

您是否知道Eclipse CVS历史记录中的任何问题或报告错误未显示objectClass="org.eclipse.team.internal.ccvs.core.ILogEntry"的贡献弹出窗口?

我在plugin.xml中定义了一个弹出窗口,它根本没有显示。在Eclipse 3.0.2中,相同的弹出窗口没有问题 这是plugin.xml中的弹出式定义:

<extension point="org.eclipse.ui.popupMenus">
   <objectContribution
            objectClass="org.eclipse.team.internal.ccvs.core.ILogEntry"
            id="cvshistory">
         <action
               label="Pasar Recursos a Integración"
               icon="pai.gif"
               tooltip="Pasa los recursos seleccionados a integración"
               class="com.xxxxx.plugins.pai.actions.HammerPAIAction"
               enablesFor="1"
               id="action2">
         </action>
   </objectContribution>
</extension>

我尝试将org.eclipse.team.internal.ccvs.core.ILogEntry更改为org.eclipse.team.ccvs.core.ILogEntry并获得相同的结果。

我正在使用IBMRational®ApplicationDeveloper™forWebSphere®Software7.5.4,其中包括Eclipse 3.4.2(Eclipse插件开发环境,PDE,3.4.2.R342_v20090122)

感谢。


[ UPDATE 1 ]似乎Eclipse 3.2是第一个破坏我的插件弹出窗口的版本,因此我正在阅读changes introduced以尝试找到问题。 BTW,CVS历史在这个Eclipse版本中进行了重新设计。

[更新2 ]好的,我发现将objectClass从org.eclipse.team.internal.ccvs.core.ILogEntry更改为org.eclipse.team.internal.ccvs.core.filehistory.CVSFileRevision会产生魔力,而现在会显示弹出窗口,但是它被称为,它不工作:-( 我想我需要更改一些代码以使插件适应CVSFileRevision类。

1 个答案:

答案 0 :(得分:0)

好的,问题已经消失了。

似乎自 Eclipse 3.2 以来,需要向历史记录视图提供弹出菜单的objectClass为org.eclipse.team.internal.ccvs.core.filehistory.CVSFileRevision,因此在plugin.xml文件中更改它会再次启用弹出窗口。

在Action类中需要一些新代码才能识别出新类:

if (next instanceof CVSFileRevision) {
   resources.add(((CVSFileRevision)next).getCVSRemoteFile());
}

因为否则每次我调用我的动作时都会收到下一个神秘错误:

alt text http://img443.imageshack.us/img443/4396/pluginerror.png

所以,在没有其他人帮助的情况下,声誉应该由我来解决问题:-D