您是否知道Eclipse CVS历史记录中未显示弹出窗口的任何问题或报告的错误objectClass="org.eclipse.team.internal.ccvs.core.ILogEntry"?
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相同的结果。
org.eclipse.team.internal.ccvs.core.ILogEntry
org.eclipse.team.ccvs.core.ILogEntry
我正在使用IBMRational®Application Developer™forWebSphere®Software 7.5.4,其中包括Eclipse 3.4.2(Eclipse插件开发环境,PDE,3.4.2.R342_v20090122)
谢谢。
[ 更新1 ]看来Eclipse 3.2是第一个打破我的插件弹出窗口的版本,因此我正在阅读引入的更改以尝试发现问题。 顺便说一句,在此Eclipse版本中重新设计了CVS历史记录。
[ UPDATE 2 ]好吧,我发现将objectClass从更改org.eclipse.team.internal.ccvs.core.ILogEntry为org.eclipse.team.internal.ccvs.core.filehistory.CVSFileRevision执行魔术,现在显示的弹出窗口更少了,但是当调用它时,它不起作用:-(我想我需要更改一些代码以适应CVSFileRevision类的插件。
org.eclipse.team.internal.ccvs.core.filehistory.CVSFileRevision
好的,问题已经解决了。
似乎从 Eclipse 3.2开始 ,objectClass需要向“历史记录”视图添加弹出菜单,org.eclipse.team.internal.ccvs.core.filehistory.CVSFileRevision因此在plugin.xml文件中对其进行更改会再次启用弹出窗口。
为了识别该新类,它需要在Action类中添加一些新代码:
if (next instanceof CVSFileRevision) { resources.add(((CVSFileRevision)next).getCVSRemoteFile()); }
因为否则每次调用动作时,我都会得到下一个神秘错误:
替代文字http://img443.imageshack.us/img443/4396/pluginerror.png
因此,声誉应该由我来解决,而无需其他人的帮助:-D