Intellij IDEA 插件开发之自建插件仓库

Intellij IDEA 有一个自己的官方的插件仓库,但是当我们的开发的 Intellij IDEA 的插件不能够对外公开时,我们就需要搭建自己的 Intellij IDEA 的插件仓库。前不久我们也尝试着使用Intellij IDEA自己开发一个插件点击打开链接

搭建 Intellij IDEA 插件仓库

Intellij IDEA 的官方文档里面有提到怎么去新建一个插件仓库,但是,这部分的文档却不在 Intellij IDEA 插件的开发文档里面,而是在插件相关功能的使用文档里面:https://www.jetbrains.com/help/idea/2016.3/adding-plugins-to-enterprise-repositories.html

这里简单对这个文档进行一个说明,如果需要新建一个插件仓库,非常简单,只需要提供一个 URL,当访问这个 URL 的时候,返回如下的一个 XML 即可:

<plugins>
    <plugin id="com.taobao.middleware.HotCode2Plugin" url="http://localhost/downloads/hotcode2-idea-plugin.jar" version="0.1"/>
    <plugin id="com.alipay.sofa.andromeda" url="http://localhost/idea/download/com.alipay.sofa.andromeda-1.1.34.zip" version="1.1.34"/>
</plugins>
注:
  • id 为插件的 ID,需要跟在插件的 plugin.xml 里面的设定的 ID 一致。
  • url 为插件的 ZIP 包下载的地址。
  • version 是插件的版本号。

使用 gradle 来构建 intellij IDEA插件

添加Intellij Plugin 对 Gradle 的支持其实和 Android 差不多, 需要添加官方的插件支持.
1,在你 Intellij plugin 项目的根目录里执行命令 gradle init来初始化一个 gradle 工程。
2,修改 build.gradle文件,让它能够支持构建 intellij 插件。
3,添加 intellij build plugins 仓库地址:https://plugins.gradle.org/plugin/org.jetbrains.intellij 官方推荐了两种添加方式, 这里我们采用第二种。
plugins {
  id "org.jetbrains.intellij" version "0.1.10"
}

4,使用 intellij idea 的插件(这和Android添加插件是一样的)
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
5,设置运行插件的 intellij 版本以及沙箱地址
intellij {
    version = 'IU-163.7342.3' //调试我们插件的版本
    sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox" //插件生成的临时文件的地址
}

完成以上操作, 我们需要用 Idea 来重新以 gradle 的工程来导入我们的项目,这样就可以支持 gradle 啦。


附上build.gradle的完整配置:
/*
 * This build file was auto generated by running the Gradle 'init' task
 * by 'darin' at '11/4/16 10:39 AM' with Gradle 2.12
 *
 * This generated file contains a commented-out sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * user guide available at https://docs.gradle.org/2.12/userguide/tutorial_java_projects.html
 */


plugins {
    id 'org.jetbrains.intellij' version "0.1.10"
}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'


// In this section you declare where to find the dependencies of your project
repositories {
    // Use 'jcenter' for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
    mavenCentral()

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}

intellij {
    version = 'IU-163.7342.3'
    plugins = ['JavaScriptLanguage', 'CSS']
    sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox"
}

sourceSets {
    main.java.srcDirs = ['src', 'gen']
    main.resources.srcDir 'resources'

    test.java.srcDir 'test/src'
    test.resources.srcDir 'test/data'
}

// In this section you declare the dependencies for your production and test code
dependencies {
    compile fileTree(dir: 'lib', include: ['*.jar'])
    // The production code uses the SLF4J logging API at compile time
    compile 'org.slf4j:slf4j-api:1.7.18'

    // Declare the dependency for your favourite test framework you want to use in your tests.
    // TestNG is also supported by the Gradle Test task. Just change the
    // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
    // 'test.useTestNG()' to your build script.
    testCompile 'junit:junit:4.12'

    compile 'com.google.zxing:core:3.2.1'
    compile 'com.google.zxing:javase:2.2'
}

使用 Gradle 来快速发布插件到自建仓库


Jetbrains 官方提供了一个 Gradle Intellij Plugin 来帮助我们构建发布 Intellij IDEA 插件。对于发布 Intellij IDEA 插件的支持,默认行为是发布到 Jetbrains 的官方的仓库上面去的,不过在最新的 SNAPSHOT 版本中,这个插件提供了一个属性 host 可以设置自定义的仓库,我们可以在自己的 build.gradle 文件里面设置这个 host 属性:
publishPlugin.doFirst {
     publishPlugin.host = 'http://ysera.alipay.net:9000/'
 }
设置好了之后,就可以直接使用 gradle publishPlugin 来发布 Intellij IDEA 插件了。不过这里需要注意,我们上传的插件需要包含如下信息:
  • userName:用户名
  • password:密码
  • xmlId:插件的 ID,也就是在 plugin.xml 里面定义的 ID。
  • file:插件的 ZIP 包。


所以到这里,我们自建的插件仓库就可以使用了。


  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
IntelliJ IDEA 是一款非常流行的 Java 开发工具,它提供了丰富的插件机制,使得开发人员可以方便地扩展 IntelliJ IDEA 的功能。本文将介绍 IntelliJ IDEA 插件开发的基本流程和注意事项。 1. 开发环境搭建 首先,需要安装 IntelliJ IDEA,并在其基础上安装开发插件所需的 SDK 和插件开发工具。可以从 IntelliJ IDEA插件仓库中搜索并安装 Plugin Development Kit 插件,该插件开发者提供了一系列插件开发所需的工具和 API。 2. 创建插件项目 在 IntelliJ IDEA 中创建一个插件项目,可以使用插件开发工具提供的模板来快速创建。在创建插件项目时,需要选择插件类型和插件的基础语言,如 Java、Kotlin 等。 3. 开发插件功能 在插件项目中,可以通过编写代码、配置文件等方式来实现插件的功能。常见的插件功能包括添加自定义菜单、快捷键、工具栏等,还可以通过调用 IntelliJ IDEA 的 API 实现更加复杂的功能,如代码分析、重构等。 4. 调试和测试 在开发插件时,可以通过调试工具来验证代码是否正确。在 IntelliJ IDEA 中,可以使用插件开发工具提供的 Run/Debug Configuration 来配置插件的运行和调试环境。此外,还可以使用单元测试和集成测试来验证插件的功能是否正确。 5. 发布和分发 当插件开发完成后,需要将其打包发布到 IntelliJ IDEA 插件仓库中,以供其他用户使用。在发布前,需要对插件进行一些必要的检查,如检查插件的兼容性、安全性等。发布完成后,可以将插件的信息分享到开发者社区等平台,以便更多的用户了解和使用。 总结 IntelliJ IDEA 插件开发需要掌握 Java 开发技术和 IntelliJ IDEA 插件开发工具的使用。开发者应该了解插件开发的基本流程和注意事项,以便能够快速开发出高质量的插件,并满足用户需求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangzhihong8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值