IDEA插件开发之环境搭建过程图文详解

基于IntelliJ Platform Plugin搭建

环境步骤

File->New->Project
选择IntelliJ Platform Plugin

如果你这里没有SDK环境,则添加一个SDK环境,选择自己的idea的安装的根目录即可

展示效果

基于Gradle搭建环境步骤

File->New->Project
选择Gradle

next

进来以后大概是这样的一个界面,然后gradle会自动build项目,下载相关的依赖。(可能会失败)

遇到的问题一,依赖ideaIC-2020.1.1.zip文件

build过程中下载ideaIC-2020.1.1.zip文件(根据不同的idea插件开发版本这个文件也会随之改变的),但是这个文件超特么的大500多M🙂🙂🙂,大不是问题,但是太慢了,我中途还出超时出错过,因此不我希望你们也遇到这个问题,错误大概是这样的

A problem occurred configuring root project 'myplugin2'.
> Could not resolve all files for configuration ':detachedConfiguration1'.
   > Could not download ideaIC-2020.1.1.zip (com.jetbrains.intellij.idea:ideaIC:2020.1.1)
      > Could not get resource 'https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2020.1.1/ideaIC-2020.1.1.zip'.
         > Read timed out

但是,这个等待的时间不是白白的浪费了,至少我知道错误在哪,下载什么文件失败的,原来是下载这个路径下的这个zip文件(而且通过这个URL也知道了jetbrains的release版本仓库在哪个位置了),于是ctrl+c 这个url,默默打开我的迅雷X,开启了立即下载模式

等下载完成大概是这样的,507 MB (532,523,505 字节),果然厉害,这个就是IDEA2020.1.1的社区版!

但是问题来了我下载下来的文件放在哪呢,gradle的自动编译才能用我的这个zip包呢?
于是牵扯到了gradle的本地缓存了。

打开系统盘下当前用户的.gradle目录,进入.gradle\caches\modules-2\files-2.1目录,即为缓存文件的目录。但是我怎么知道是哪个具体的目录下呢?这个时候又是上面这个报错的url的地方,仔细看com/jetbrains/intellij/idea/ideaIC/2020.1.1/ideaIC-2020.1.1.zip这一段,这不就知道是哪个目录了,于是进入到.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2020.1.1目录,再一看他是这样的ff8c1b826417ce9d8a537b41e64d0253be9dbac0目录名称(你的可能不是这样的),我去,这个应该是加密过的,但是是什么加密呢?,经过了解知道了这个是SHA1加密,且是对文件进行SHA1的加密生成的唯一字符串,但是windows上没有这个命令,在线SHA1也太麻烦了,还要上传文件,于是想到了Java的API,还有就是通过git hash命令行来实现。

把我们的文件ideaIC-2020.1.1.zip先临时拷贝到这个目录。运行sha1sum.exe ideaIC-2020.1.1.zip命令,生成唯一的唯一字符串(用来校验文件的完整性),这样就拿到这个640aff4c23a001e5595ee654670d774e9efcd118目录名

接下来在2020.1.1目录下,新建目录640aff4c23a001e5595ee654670d774e9efcd118,将ideaIC-2020.1.1.zip移动进去即可。这样就完成了手动导入依赖的过程😎😎😎遇到的问题二,gradle build过程中堆栈溢出。

描述如下

A build operation failed.
 Java heap space >
  Java heap space

解决方法,在IDEA项目根目录下,新建文件gradle.properties,添加如下内容,变更gradle Jvm参数

org.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m

然后就开开心心手动构建环境即可完成。

总结

搭建IDEA插件开发环境方式很多,看个人开发喜好,官方建议使用gradle的方式搭建比较全面。
搭建环境过程并不是一帆风顺,也花费了挺多挺多的时间,其他人得解答也只是片段,并不能完美解决我的问题,于是才有了这篇文章,后续打算开发一个自己的插件,来解决自己的问题,到时候再记录把。

到此这篇关于IDEA插件开发之环境搭建过程图文详解的文章就介绍到这了,更多相关IDEA插件开发环境搭建内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-05-06

IDEA快速搭建Java开发环境的教程图解

作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就一起来看看吧! 全局JDK(默认配置) 具体步骤:顶部工具栏 File ->Other Settins -> Default Project Structure -> SDKs -> JDK 示例: 根据下图步骤设置JDK目录,最后点击OK保存. 注:SDKs全称是Software D

Intellij Idea插件开发之创建项目层级的右键菜单

在使用Android Studio的过程中,发现自带的一些插件无法满足项目的实际需要,便着手自己开发对应的插件.下面是我开发插件过程中的一个记录,会持续和大家分享. 分享一:创建Project右键菜单 1,按照项目向导一步一步创建一个Demo项目,就不再介绍了,可以参照这篇文章http://www.jb51.net/article/135535.htm 2,创建Action,在plugin配置文件中你会看到 <action id="FirstAction" class="

Intellij IDEA插件开发入门详解

现今的IDE尽管有如"洪水猛兽"般强大,但要知道再强大的IDE也没法提供给使用者想要的一切功能,所以IDE一般都提供有API接口供开发者自行扩展.下面以Intellij IDEA 12下的插件开发为例,来看一下如何进一步增强IDE以适应开发者的需求. 1.创建Plugin工程 如果Module SDK中没有可选的SDK,那么点击New新添加一个SDK,目录就选择Intellij的安装位置即可. 创建出的Plugin项目结构很简单,只是在META-INF下多了一个plugin.xml配置

详解Maven环境的搭建与idea配置

本文主要介绍了Maven环境的搭建与idea配置,分享给大家,具体如下: Maven 下载: http://maven.apache.org/download.cgi Maven 中央仓库地址:http://search.maven.org 配置maven环境变量 M2_HOME:D:\workspace\maven\apache-maven-3.0.5 Path:;%M2_HOME%/bin; 检查是否成功,打开CMD: Mvn -v mvn install 会将项目生成的构件安装到本地Mav

详解Linux环境下NodeJS的安装配置(HelloWorld)

最简单的环境安装,测试helloworld.给初学者!! 安装脚本,请仔细阅读逐行执行: #!/bin/bash #检查是否已经安装 rpm -qa | grep python #查版本 python #最好是重新安装 Python推荐版本( >= v2.5.0 & < 3.0.0 ),否则影响nodejs运行 #进入安装目录 cd /usr/local/ #删除原有安装 rm -rf node rm -rf node-v0.10.29-linux-x64 #解压压缩包 tar -zx

详解Maven私服Nexus的安装与使用

本文介绍了详解Maven私服Nexus的安装与使用,分享给大家,具体如下: 1.安装 1.1 安装docker并加速 yum update && yum install docker sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://y7u9p3i0.mirror.aliyuncs.com"

详解Maven POM(项目对象模型)

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等. 执行任务或目标时,Maven 会在当前目录中查找 POM.它读取 POM,获取所需的配置信息,然后执行目标. POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表信息 在创建 POM 之前,我们首先需要描述项目组 (groupId), 项目的

详解maven配置多仓库的方法示例

刚接触maven就是在公司里配置好的,所以一直以来使用都没毛病,所以一直没有去动这些固有的东西. 但是,后来把公司的电脑拿回家之后,发现有的东西就搞不起来了.原因也看一下就明白了,因为在公司的时候用的是公司的maven私服,所以回家后,用不了也是正常. 但是,真的脱离了公司,自己就不能工作了吗?不可能吧. 难道一下开源工具都必须要依赖于公司的网络? 这明显是不合理的. 那么,就扯出本次文章的意义了,在家里,自然是要公有的maven仓库了,那么,怎样配置maven仓库才能让自己用起来顺心呢? 1.

详解Maven多模块打包遇到的问题解决方法

项目描述: springboot+springcloud+zookeeper+eureka+maven:为多模块多module的分布式架构: 项目目录结构如下 父工程为server工程,其中有多个子module工程: 1.独立子工程:db.model.quartz.redis.util.basecontroller: 2.独立功能模块:dao.service.controller: 其中dao.service.controller分别依赖db.model.quartz.redis.util.ba

详解 maven的pom.xml用&lt;exclusion&gt;解决版本问题

详解 maven的pom.xml用<exclusion>解决版本问题 用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个jar会被下载了不同版本的问题,好在pom的配置里面允许用<exclusion>来排除一些不需要同时下载的依赖jar . 比如配置struts-core,它会同时下载javassist和asm相关的jar,但版本又不够新,这时可以排除它们: <!-- Struts2 --> <dep

详解python环境安装selenium和手动下载安装selenium的方法

方法1:cmd环境下,用pip install selenium 可能会很慢 方法2:下载selenium安装包手动安装 下载地址:https://pypi.org/project/selenium/ 选择扩展名为gz的源码包进行下载 下载后解压,cmd环境进入到setup.py文件所在目录 运行 python setup.py install命令进行安装 安装完后用pip list可看到selenium的信息 此时就可以用import selenium引入selenium包了 到此这篇关于详解

详解maven依赖冲突以及解决方法

什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的.每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了.具体执行步骤如下 1.查看依赖冲突 a.通过dependency:tree是命令来检查版本冲突 mvn -Dverbose dep

详解maven的install的作用

一,使用eclipse 1,maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦: 2,修改服务端比如manage层和dao层的项目的时候如果eclipse没有自动编译,则在调试的时候容易出很奇怪的错误,就是明明代码已经改好了,但是debug的时候还是在报错,这就是没有项目没有编译完成造成的,看到的改好的代码没有变成class