IntelliJ Platform SDK
可以让我们开发插件,定制IDE,例如支持特定的语言
插件
在IntelliJ平台上构建的产品是可组合的应用程序,插件可以通过多种方式扩展平台,从添加简单的菜单项到添加对完整语言,构建系统和调试器的支持。
分类
- 自定义语言支持 (Kotlin)
- 框架集成 (Spring)
- 工具集成 (DBHelper)
- 用户界面加载项(背景图片插件)
结构
- 组成部分
.IntelliJIDEAx0/
plugins/
sample.jar/
com/foo/...
...
...
META-INF/
plugin.xml
pluginIcon.svg
pluginIcon_dark.svg
jar包+plugin.xml+图标
plugin.xml
<depends>
依赖于一个或多个其他插件
<!-- url="" specifies the URL of the plugin homepage (displayed in the Welcome Screen and in "Plugins" settings dialog) -->
<idea-plugin url="http://www.jetbrains.com/idea">
<!-- Plugin name -->
<name>VssIntegration</name>
<!-- Unique identifier of the plugin.
Cannot be changed between the plugin versions.
If not specified, assumed to be equal to <name>. -->
<id>VssIntegration</id>
<!-- Description of the plugin. -->
<description>Vss integration plugin</description>
<!-- Description of changes in the latest version of the plugin.
Displayed in the "Plugins" settings dialog and in the
plugin repository Web interface. -->
<change-notes>Initial release of the plugin.</change-notes>
<!-- Plugin version -->
<version>1.0</version>
<!-- The vendor of the plugin.
The optional "url" attribute specifies the URL of the vendor homepage.
The optional "email" attribute specifies the e-mail address of the vendor.-->
<vendor url="http://www.jetbrains.com" email="support@jetbrains.com" />
<!-- The unique identifiers of the plugins on which this plugin depends. -->
<depends>MyFirstPlugin</depends>
<!-- Optional dependency on another plugin.
If the plugin with the "MySecondPlugin" ID is installed,
the contents of mysecondplugin.xml (the format of this file
conforms to the format of plugin.xml) will be loaded. -->
<depends optional