编写一个IDEA插件之:开发环境准备那些坑
不得不说,IDEA
确实强大,不知不觉已经成为我们Java
、Android
程序员的首选IDE
工具,不知不觉中,我们已经淡忘了Eclipse
。
IDEA
有着极强的扩展功能,它提供插件扩展支持,让开发者能够参与到IDEA
生态建设中,为更多开发者提供便利、提高开发效率。
我们常用的插件有Lombok
、Mybatis
插件,这些插件都大大提高了我们的开发效率。
即便IDEA
功能已经很强大,并且也已有很多的插件,但也不可能面面俱到,有时候我们需要自给自足。
如何准备插件开发环境
在开发插件之前,你可能需要先搭建环境。
你可能需要下载一个社区版本的IDEA
和源码,社区版IDEA
可以到官网下载,而源码可从gitee
克隆(从github
克隆太慢)。
从gitee
克隆:
git clone --depth 1 https://gitee.com/mirrors/intellij-community.git
因为源码项目太大,clone
到一半时可能会出错,需要使用--depth 1
指定克隆深度,1
表示只克隆最近一次commit
。
虽然--depth 1
只会把默认分支clone
下来,其他远程分支并不在本地,但我们不需要用到其它的分支,如果有需要,可以先git fetch
指定分支再切换到指定分支。
$ git remote set-branches origin 'remote_branch_name'
$ git fetch --depth 1 origin remote_branch_name
$ git checkout remote_branch_name
安装社区版后,我们在社区版的IDEA
开发插件。
需要先搭建环境,安装插件DevKit
,以及创建IntelliJ Platform SDK
。下图为官方文档中《搭建开发环境》部分的截图。
在新建插件项目时,选择IntelliJ Platform Plugin
,注意不要勾选Groovy
。勾选Groovy
表示你需要添加一些Groovy
的链接库和框架,此时底部的Use library
就不能为空。
本篇只是作为一个补充,分享笔者踩过的一些坑。
关于环境的准备网上有不少文章,详细步骤推荐阅读:
- 《从零开始编写
IntelliJ IDEA
插件》:https://juejin.im/post/6844904058625474573 - 官方教程(可使用谷歌浏览器的翻译插件翻译成中文阅读):https://jetbrains.org/intellij/sdk/docs/basics/getting_started.html
[Java艺术] 微信号:javaskill
一个只推送原创文章的技术公众号,分享Java后端相关技术。
- 集群开源软件赏:JGroups
- 看到他我一下子就悟了---委托
- 这或许是对小白最友好的python入门了吧——5,修改和添加列表元素
- 这或许是对小白最友好的python入门了吧——4,列表
- 【深度学习】自动驾驶:使用深度学习预测汽车的转向角度
- 这或许是对小白最友好的python入门了吧——3,数字处理
- 数据库恢复方案
- 这或许是对小白最友好的python入门了吧——2,变量和字符串
- Extjs4.2+webAPI+EF实现分页以及webapi的数据传值(续)
- Linux 系统安全与优化配置
- Extjs 项目中常用的小技巧,也许你用得着(2)
- 这或许是对小白最友好的python入门了吧——16,输入文本
- Extjs 项目中常用的小技巧,也许你用得着(1)
- Extjs4.2+webAPI+EF实现分页以及webapi的数据传值
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 如何发一条九宫格图片的朋友圈
- 神器!人工智能分离歌曲中的人声和背景音乐
- Python自学成才之路 分布式计算解决方案actor
- MySQL代码开发和调试利器CLion
- 重磅!GitHub 推出容器镜像仓库服务!
- 深入理解 Cilium 的 eBPF 收发包路径
- CentOS7下搭建Jellyfin个人流媒体服务器
- CentOS8下yum源配置及nmcli命令简单介绍
- Day62:二叉搜索树的第k个结点
- CentOS7下利用SRS搭建直播流媒体服务器
- 第9天:NLP补充——需要的基本知识
- 6.AVCodecContext和AVCodec
- WebAssembly之使用JS调用C/C++接口
- WebAssembly之emcc编译命令
- 食堂店小二儿教你学会栈