您是否知道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类。
答案 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