【发布时间】:2015-10-20 03:36:43
【问题描述】:
我有一个插件,它呈现一个编辑器来编辑一个特定的文件。我想创建一个具有更多功能的相同插件。
是否可以使用\继承现有插件并覆盖一些行为来创建我自己的插件?
我精通从头开始创建新插件。但是不知道怎么做?
【问题讨论】:
-
也许您可以描述一下您尝试过但无法弄清楚的事情?
标签: java eclipse plugins eclipse-plugin
我有一个插件,它呈现一个编辑器来编辑一个特定的文件。我想创建一个具有更多功能的相同插件。
是否可以使用\继承现有插件并覆盖一些行为来创建我自己的插件?
我精通从头开始创建新插件。但是不知道怎么做?
【问题讨论】:
标签: java eclipse plugins eclipse-plugin
您不能从插件继承,即使您是这两个插件的创建者(至少在术语继承的标准含义中)。
在任何情况下,您都不能从其他插件(如 PDT、JDT 等)继承...如果您仔细想想,这就是插件架构背后的全部理念。除了继承之外,您还可以通过 Extensions 和 Extension Points 让两个插件协调工作以满足用户的需求。
【讨论】:
一般来说,没有允许从插件完全继承的“继承”机制。
特别是,在 plugin.xml 中声明的大多数扩展不支持任何类似于“继承”的机制。
但是,在某些简单的情况下,您可以在子 plugin.xml 中复制父 plugin.xml 中的声明,并将它们调整为指向继承自父插件中原始类的类。 但是这种技术有很多局限性:
这需要很好地了解每个重用类及其与原始插件的关系,以防止出现意外行为。 (如果父插件实际上可以与其他插件一起使用,这一点非常重要。)
为了获得更好的结果,父插件需要设计为可重用,通常提供可重用的类,甚至更好地提供专用的扩展点。
【讨论】: