由于工作需要以及个人兴趣, 最近学习了自定义AndroidStudio插件用于生成代码, 在此记录下以备以后查阅, 希望同时也能帮助到正在看这篇博客的你.
插件配置
进入IDEA编辑器, 选择新建工程, 如图所示, 选中 IntelliJ Platform Plugin, Module SDK 的位置如果没有需要点击 New 按钮, 默认会选中 IDEA 所在目录, 直接点确定即可.
打开工程后可以看到如下图的目录结构, 其中plugin.xml就是插件配置的地方
按照以下注释配置
<idea-plugin version="2">
<id>com.your.company.unique.plugin.id</id><!-- 插件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"/><!-- 最低支持IDEA版本, 保持默认就行 -->
<!-- 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将自动生成-->
<actions>
<!-- Add your actions here -->
</actions>
</idea-plugin>
接下来在 src 中创建一个Action
如下图, ActionID 之后可以在 plugins.xml中修改, className就是类名, Name是显示给用户的动作名称
Groups 是指你创建的 Action 出现的位置, 这里我选择了GenerateGroup, 对应如下图 Generate 组, 配置完点击OK, Keyboard Shortcuts可以选择不填
开始前的准备
- IntelliJ IDEA 是开源的, 写代码前最好先关联源码 https://github.com/JetBrains/intellij-community 前往github下载源码, 然后点击如下图的按钮, 在打开的窗口中选中 SDKs --> Sourcepath, 点击加号进行添加源码, 将解压后的 java目录和 platform 两个目录添加进去
- 插件开发官网文档地址
开始写代码
当我们创建一个 Action 后将生成以下代码, 我们的逻辑都要写到actionPerformed
方法中.
public class