IDEA提供扩展点的概念,这样我们可以跟其他插件或者IDEA本身交互,例如对IDEA功能进行扩展。
扩展点Extension points
如果希望你的插件可以被其他插件扩展功能,那么可以在插件中声明extension points
。每个扩展点定义一个可以访问它的类或者接口。
interface
属性设置一个接口,扩展时需要实现此接口beanClass
属性设置一个bean类,包含使用@Attribute
注解标注的属性。
例如:
如果要扩展它,需要包含key
和implementationClass
属性。(见下文)
扩展Extensions
如果希望扩展别的插件或者IDEA的功能,那么可以声明extensions
。
在注册extensions
元素时,需要设置defaultExtensionNs
属性为如下两个值之一:
com.intellij
:扩展IDEA功能{ID of a plugin}
:扩展其他插件的功能
例如,我们要扩展IDEA的appStarter
和applicationConfigurable
扩展点,还有上面我们声明的MyExtensionPoint1
扩展点: