简述 AndroidStudio Plugins 开发流程,不涉及功能性开发,方便大家入门,减少踩坑操作。
首先推一下我个人的第一个结合公司场景而诞生的Plugin:ButterKnifeCode,参考了开源插件:FindViewByMe;
下面简述 AndroidStudio Plugins 开发流程:
<!--more-->
准备工作
1、下载Intellij IDEA Community版本,因为是免费的;
2、安装运行Intellij IDEA,点击create New Project,按照以下两步操作:
图中第2步点击New...实际上就是选择Java和Intellij IDEA的安装目录,然后点击Next,再选择Project的目录,最后点击Finish按钮就创建好Project了,Project目录结构如下图:
编码工作
3、下面先介绍一下Project唯一给我们创建好的plugin.xml文件,具体说明如下:
<idea-plugin>
<!-- 插件ID,上传到plugins.jetbrains.com会用到,保证唯一就行 -->
<id>com.your.company.unique.plugin.id</id>
<!-- 插件名称 -->
<name>Plugin display name here</name>
<!-- 插件版本号 -->
<version>1.0</version>
<!-- 插件作者信息 -->
<vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor>
<!-- 插件描述信息 -->
<description><![CDATA[
Enter short description for your plugin here.<br>
<em>most HTML tags may be used</em>
]]></description>
<!-- 插件该版本功能信息 -->
<change-notes><![CDATA[
Add change notes here.<br>
<em>most HTML tags may be used</em>
]]>
</change-notes>
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
<idea-version since-build="145.0"/>
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<!-- uncomment to enable plugin in all products
<depends>com.intellij.modules.lang</depends>
-->
<extensions defaultExtensionNs="com.intellij">
<!-- Add your extensions here -->
</extensions>
<!-- 动态创建的Action或手动注册的Action -->
<actions>
<!-- Add your actions here -->
</actions>
</idea-plugin>
4、创建Action,右击New一个就行了,具体说明见图:
New成功之后会打开我们创建的TestAction,并且会在plugin.xml文件中添加action,内容如下:
<!-- 动态创建的Action或手动注册的Action -->
<actions>
<!-- Add your actions here -->
<action id="TestAction.ID" class="TestAction" text="Test" description="TestActionDescription">
<add-to-group group-id="EditMenu" anchor="first"/>
<keyboard-shortcut keymap="$default" first-keystroke="shift ctrl O"/>
</action>
</actions>
,TestAction的内容如下:
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.ui.Messages;
public class TestAction extends AnAction {
@Override
public void actionPerformed(AnActionEvent e) {
// TODO: insert action logic here 此处用于实现业务逻辑
// 下面语句用于快速验证使用
Messages.showMessageDialog("Hello World !", "Information", Messages.getInformationIcon());
}
}
5、点击Run会打开一个新的Intellij IDEA,然后随便创建一个Project,进入之后点击Edit菜单按钮,你就可以发现第一个选项是Test
,如下图所示:
,然后点击会弹出一个弹框,弹框如下图:
,操作如下图:
但是,我没成功过,一直会报下面这样的错误:
<font color='red'>所以我是通过下面的方式测试的:</font>
首先点击BUild菜单下的Prepare All Plugin Modules For Deployment选项,会在Porject目录下生成一个工程名.jar
的jar包,然后手动打开一个Intellij IDEA,随便打开或创建一个项目,点击Edit菜单按钮下面有木有Test选项,并且点击Test选项的效果是不是和上面的效果一致就行了。
部署工作
6、插件开发完成之后需要部署插件到jetbrains,当然也可以不部署,像我之前的测试方式一样使用,下面说一下部署插件到jetbrains的操作:
6.1、编写plugin.xml文件,具体说明在步骤3已经说明;
6.2、参考官方部署教程:Publishing a plugin
总结
本文重点在于Plugin的开发流程,不涉及功能性开发,如果需要进行功能性开发,建议参考官方教程,或者与你需要的功能类似的开源插件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。