教会你IDEA插件开发 - 基础篇

449 阅读1分钟

说起Android Studio插件开发,首先要先掌握Java或Kotlin语言,以及Java Swing编程。然后建议你看一下这个项目。

https://github.com/JetBrains/gradle-intellij-plugin/

看不懂,没关系,只要大致了解项目结构以及有哪些文件就行了。

现在我来带你循序渐进开发一个插件。我们要先搭建一下插件开发环境,则要先下载一个和当前Android Studio构建版本一致的IDEA版本,必须要用IDEA开发插件,IDEA官网下载地址www.jetbrains.com/zh-cn/idea/… ,请选择其他版本。然后看一下Android Studio的构建版本号[Help] - [About]查看版本号,我的是212.5712.43。 我们知道Android项目都有一个清单文件AndroidManifest.xml,同样的,IDEA插件项目也有一个清单文件,放在src/main/resources/META-INF/plugin.xml。 这里面我们可以配置很多的action。如下图,一个按钮就是一个action。

image.png 比如Analyze APK...这个按钮,就是一个action,一个action就是一个功能。我们通过继承AnAction来自定义一个action。 通过重写

override fun actionPerformed(anActionEvent: AnActionEvent)

来决定这个action要做什么事。然后我们把这个action配置到清单文件就可以了。

val model = BuildAppWizardModel()
anActionEvent.project?.let {
    // 得到项目根目录
    model.projectRootProperty.set(it.basePath
        ?.replace("/", File.separator)
        ?:"")
}
StudioWizardDialogBuilder(
    ModelWizard.Builder()
        .addStep(BuildAppStep(model))
        .build(),
    "我的插件标题栏"
).build()
    .show()

这个插件做了一个简单的弹一个向导(Wizard)弹窗的功能。 清单文件配置如下。

<actions>
    <action class="com.example.plugin.action.BuildAppAction" id="buildAppAction" text="我的action">
        <add-to-group group-id="BuildMenu" anchor="last"/>
    </action>
</actions>