• 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

  • 相关阅读:
    Day50【动态规划】123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV
    MMDeploy部署实战系列【第五章】:Windows下Release x64编译mmdeploy c++SDK,对TensorRT模型进行推理
    赶紧收藏!中秋节营销必备文案和海报,拿了就能用!
    Spring MVC 中使用 RESTFul 编程风格
    【UGF】GameFramework接入HybridCLR(wolong)卧龙热更框架
    【爬虫实战】用python爬今日头条热榜TOP50榜单!
    人声分离软件:iZotope RX 10 (Win&Mac) 中文汉化版
    Mac下 allure的下载与配置
    软考高项-成本管理
    山西电力市场日前价格预测【2023-10-08】
  • 原文地址:https://blog.csdn.net/jiangguilong2000/article/details/126061891