上一篇讲了Android Studio插件开发的准备工作
下面以android-parcelable-intellij-plugin为例介绍代码生成类插件开发。这个插件可以为你自动生成parcelable类的实现,包括构造方法、writeToParcel、describeContents等方法、CREATOR成员变量。
通过这个例子,你可以学到的代码生成方法如下:
- 删除成员方法
- 删除成员变量
- 生成成员方法
- 生成成员变量
plugin工程结构
首先导入工程,看一下工程结构
META-INF/plugin.xml
插件配置文件,本插件显示在code - generate 菜单里,所以配置信息如下:
<action id="generateParcelableNew" class="pl.charmas.parcelablegenerator.ParcelableAction"
text="Parcelable"
description="Generates Android Parcelable based on class fields">
<add-to-group group-id="GenerateGroup" anchor="last"/>
</action>
ParcelableAction
继承自com.intellij.openapi.actionSystem.AnAction,其actionPerformed方法是我们实现的插件程序入口。GenerateDialg
继承自com.intellij.openapi.ui.DialogWrapper,接受用户输入的对话框。
插件程序入口actionPerformed
1 获取PsiClass
问题: intellij idea的api文档在哪儿?实在没找到。(源码都开源了,还要啥自行车啊?)。你可以用下面的方法获取一个PsiClass实例:
private PsiClass getPsiClassFromContext