最近,在优化 APK 体积,压缩图片一般会使用 ,想着一张一张处理太麻烦,就搜索了一些批量处理的工具,有 gradle 脚本的,也有 IDEA 插件的,结果都不大理想,因此,想自己开发一个 TinyPNG 的插件。
全称IntelliJ IDEA,是用于 java 语言开发的集成环境(也可用于其他语言),IntelliJ 在业界被公认为最好的java开发工具。
的创造者,大名鼎鼎的 公司,同时还创造出许多 IT 界耳熟能详的开发工具,
例如:、 、 ,还有谷歌维护的
这些工具有些需要收费,当然,网上也有很多免费的注册码, (话题跑偏了~)
我们在使用这些集成环境时,通常会安装许多,而这些插件也是可以自行开发的。
这里就以 ()这个插件为例,记录下开发插件的过程。
搭建环境
插件开发,要用到 环境,所有一般使用到 ,。
这里有两个版本,Community 是免费版,Ultimate 30 天免费使用,过后可以使用注册码。
两个版本都可以,下载安装完成后,打开
选择新建项目 Create New Project
项目创建完成后,目录很简单,这里放出 的目录
lib 目录是手动创建的目录,里面存放一些依赖库 src 目录存放项目代码 resources 目录中, plugin.xml 是整个插件的配置文件,很重要,下面给出 中的 plugin.xml 文件部分代码
复制代码 cn.deemons.tinypng.plugin TinyPNG 1.3 Deemons TinyPNG A plugin for compression picture by TinyPNG API.
利用 TinyPNG 的 API ,开发的图片压缩工具,其中提供了一些 Key。
欢迎大家留言,提供更多 API Key。
]]>v1.3 fix some bug v1.2 add info v1.1 fix bug v1.0 init ]]>com.intellij.modules.lang
这里填写的信息,会在别人搜索你插件的时候展现介绍
创建Action
在 src 下新建 Action
然后,填写相关信息
点击 ok 后,会在 src 目录下,自动生成对应的文件
public class Action extends AnAction { @Override public void actionPerformed(AnActionEvent e) { // TODO: insert action logic here // 每次点选此 Action,都会调用到这里 }}复制代码
同时,在插件的配置文件中 plugin.xml
,自动生成对应的 action
复制代码
到此,插件的基本创建就结束了。
之后的编程,很大程度需要依赖 对 Java GUI Swing 的熟悉程度了,反正我是不熟悉的。
如果需要了解,创建弹窗、存储数据等知识,请参考
这两个系列教程。
打包发布
在插件编写的工程中,需要查看效果,可以直接点击 run
按钮,它会重启一个新的 IDEA,然后随便进入一个项目,查看此插件的效果。
如果插件编写完成,这时候,可以直接打包插件,点击 Build -> Prepare Plugin Module...
之后,会在项目目录下,生成一个 zip 文件,这个文件就是打包的插件。
这个插件,可以发布到插件市场,供其它人下载使用。
地址:https://plugins.jetbrains.com/ 登录之后,就可以上传你的插件了
其中,LICENSE 需要填写协议证书地址,一般直接填写 http://www.apache.org/licenses/LICENSE-2.0
提交,上传成功后,需要一两天的审核时间,如果审核通过,就可以搜索到此插件了。
这个插件以及上传,
欢迎 start ,欢迎留言更多 API Key