尝试编写扩展类时,出现错误消息:
“ MYEditor”类型的层次结构不一致。
import org.eclipse.cdt.internal.ui.editor.CEditor;
public class MYEditor extends CEditor {
}
发生这些错误是因为层次结构中的某些接口/类 无法解决。
这表示eclipse在层次结构中找不到类。但是,当我在我的plugin.xml中使用该类时,它就可以工作。我这样使用它:
<editor
class="org.eclipse.cdt.internal.ui.editor.CEditor"
contributorClass="org.eclipse.cdt.internal.ui.editor.CEditorActionContributor"
default="true"
filenames="*.grasp, *.c"
icon="icons/small.png"
id="de.blub.ide.myeditor"
name="My Editor">
</editor>
这可行,但是缺少我插件所需的一些功能。这就是为什么我要使用从CEditor继承的类。
This answer无效(删除并添加JRE系统库)。
我还读到jar文件需要放在plugin.xml的Classpath部分中。但是“添加”和“新建”按钮没有提供选择外部jar文件的方法。我可以将jar文件从“〜/ .p2 / pool / plugins”手动复制到我的项目lib文件夹中,但这没有帮助。
答案 0 :(得分:1)
其他插件中的插件参考代码,方法是将其他插件包括在其依赖项列表中。这是插件的MANIFEST.MF中的Require-Bundle
条目。
在MANIFEST.MF / plugin.xml / build.properties编辑器中,可以在“依赖关系”页面上的“必需的插件”部分中设置依赖关系。
请勿复制插件jar,请勿将插件jar放入Java构建路径。
但是请注意,扩展内部类违反Eclipse API Rules of Engagement。内部类可能会更改而不会发出警告,并且在旧版本中可能会有所不同。
CDT Plug-in Programmer's Guide涵盖了Eclipse CDT的官方API。