IDEA插件开发(12)---Dependencies

Posted 流子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA插件开发(12)---Dependencies相关的知识,希望对你有一定的参考价值。

插件可能依赖于其他插件的类,无论是捆绑的、第三方的还是同一作者的。本文档描述了声明插件依赖和可选插件依赖的语法。有关 IntelliJ 平台模块依赖项的更多信息,请参阅本文档的第二部分:与 IntelliJ 平台产品的插件兼容性。

要添加对 3rd 方库的依赖项,请使用常规Gradle 依赖项管理。

所需步骤
要表达对来自其他插件或模块的类的依赖关系,请执行本页下面详述的以下三个必需步骤:

找到插件 ID

项目设置

plugin.xml中的声明

如果java.lang.NoClassDefFoundError在运行时发生,则意味着步骤 3 被省略或加载插件依赖项失败(请检查来自Development Instance的日志文件)。

  1. 定位插件ID并准备沙箱
    必须根据插件的兼容性仔细选择兼容版本。无法为依赖插件指定最小/最大版本。(问题)

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 开发实例并在那里安装插件。

  1. 项目设置
    根据所选的开发工作流程(Gradle 或 DevKit),需要以下两个步骤之一。

摇篮
开发套件
请查看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

以上是关于IDEA插件开发(12)---Dependencies的主要内容,如果未能解决你的问题,请参考以下文章

SpringDataJpa开发环境的搭建以及使用

12个超好用的IntelliJ IDEA 插件!你用过几个?

12 个免费又酷炫的 IntelliJ IDEA 插件!

这12款idea插件,能让你代码飞起来

这12款idea插件,能让你代码飞起来

IDEA插件开发(25)--Color Scheme Management