插件可能依赖于其他插件的类,无论是捆绑的、第三方的还是同一作者的。本文档描述了声明插件依赖和可选插件依赖的语法。有关 IntelliJ 平台模块依赖项的更多信息,请参阅本文档的第二部分:与 IntelliJ 平台产品的插件兼容性。
要添加对 3rd 方库的依赖项,请使用常规Gradle 依赖项管理。
所需步骤
要表达对来自其他插件或模块的类的依赖关系,请执行本页下面详述的以下三个必需步骤:
找到插件 ID
项目设置
plugin.xml中的声明
如果java.lang.NoClassDefFoundError在运行时发生,则意味着步骤 3 被省略或加载插件依赖项失败(请检查来自Development Instance的日志文件)。
JetBrains 市场
对于在JetBrains Marketplace上发布的插件:
打开插件的详细信息页面
选择版本选项卡
打开所需版本的详细信息页面,显示兼容性范围和插件 ID
捆绑和其他插件
对于捆绑的和非公共的插件,找到包含META-INF/plugin.xml描述符的插件的主 JAR 文件和标签(或者如果没有指定)。捆绑的插件位于
P
R
O
D
U
C
T
R
O
O
T
PRODUCT_ROOT
PRODUCTROOT /plugins /
P
L
U
G
I
N
N
A
M
E
PLUGIN_NAME
PLUGINNAME /lib /
P
L
U
G
I
N
N
A
M
E
PLUGIN_NAME
PLUGINNAME.jar。
捆绑插件的 ID
下表列出了一些常用的捆绑插件及其 ID。另请参阅IntelliJ 社区插件和特定于功能的模块。
插件名称
插件 ID
版权
com.intellij.copyright
CSS
com.intellij.css
数据库工具和 SQL
com.intellij.database DataGrip 插件开发
智能语言
org.intellij.intelliLang
爪哇
com.intellij.java
JavaScript 和 TypeScript
JavaScript
科特林
org.jetbrains.kotlin 面向插件开发者的 Kotlin
降价
org.intellij.plugins.markdown
马文
org.jetbrains.idea.maven
春天
com.intellij.spring 弹簧 API
弹簧靴
com.intellij.spring.boot 弹簧 API
准备沙盒
如果插件未与目标 IDE 捆绑,请运行目标 IDE 的(沙盒)IDE 开发实例并在那里安装插件。
摇篮
开发套件
请查看intellij.plugins酒店以了解可接受的值。
如果项目使用Gradle,请将依赖项添加到intellij.plugins构建脚本中的参数中:
科特林
时髦的
intellij {
plugins.set(listOf(“com.example.another-plugin:1.0”))
}
当前必须明确指定测试所需的传递依赖项。
3.plugin.xml中的依赖声明
无论插件项目是使用所有产品中可用的模块,还是使用特定于功能的模块,都必须在plugin.xml中将正确的模块列为依赖项。如果一个项目依赖于另一个插件,则必须将依赖项声明为模块。com.intellij.modules.platform如果仅使用通用 IntelliJ 平台功能 (API),则必须声明默认依赖项。
要显示可用 IntelliJ 平台模块的列表,请在编辑插件项目的plugin.xml文件时为元素内容调用代码完成功能。
在plugin.xml中,添加一个以依赖插件 ID 作为其内容的标签。继续上面项目设置中的示例, plugin.xml中的依赖项声明将是:
com.example.another-plugin
可选插件依赖项
插件还可以指定可选的插件依赖项。在这种情况下,即使它所依赖的插件没有安装或启用,插件也会加载,但插件的部分功能将不可用。
声明指向可选插件描述符文件的附加optional="true"和属性:config-file
dependency.plugin.id
其他插件描述符文件必须遵循myPluginId-
N
A
M
E
NAME
NAME.xml命名模式,从而产生唯一的文件名,以防止测试中的类加载器出现问题(详细信息)。
例如,如果插件为 Java 和 Kotlin 文件添加了额外的突出显示,请使用以下设置。主plugin.xml将为 Java 定义一个注释器,并指定对 Kotlin 插件(插件 ID org.jetbrains.kotlin)的可选依赖项:
插件.xml
... org.jetbrains.kotlin 然后在与主plugin.xml文件相同的目录中创建一个名为myPluginId-withKotlin.xml的文件。在该文件中,为 Kotlin 定义一个注释器:myPluginId-withKotlin.xml