这篇文章是IntelliJ插件开发教程系列的第三部分。 在最后两部分中,我们学习了如何设置项目以及如何处理 intellij插件中的用户输入 。 在这一部分中,我们将研究intellij插件中的持久状态。
我们将构建一些您可以实际使用的东西,并在您的朋友/同事之间共享,这是一个从IDE触发Bitrise构建的插件!
对于那些你们谁不知道Bitrise是什么,我建议检查这个出来。 我们将创建一个插件来触发来自IDE本身的构建。
另外,建议您快速浏览前面的2篇文章(尽管不是必须的)。 他们将帮助您了解项目结构的一些基础知识,以及如何创建简单的GUI界面。
1.入门
让我们从创建一个新项目开始。 给它起任何你想要的名字。 我命名为AndroidVille。 让项目处于上一篇文章中所述的设置中。 我们将需要Java和Kotlin依赖项。
接下来,创建一个名为MyAction的类,并从AnAction对其进行扩展 。 我们将使用它来显示对话框并根据用户的输入触发API调用。
import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent class MyAction : AnAction() {
override fun actionPerformed(e: AnActionEvent) {
} }
最后,我们需要在plugin.xml文件中注册我们的操作。
<idea-plugin>
<id>com.ayusch.AndroidVillePlugin</id>
<name>AndroidVille</name>
<vendor email= "[email protected]" url= " http://www.ayusch.com " >AndroidVille</vendor>
<description>An automation plugin for AndroidVille. Use AndroidVille. Use this for tasks such as triggering builds on BitRise</description>
<!-- please see http: //www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<depends>com.intellij.modules.platform</depends>
<actions>
<group id= "AndroidVillePlugin.TopMenu"
text= "AndroidVille"
description= "AndroidVille toolbar menu" >
<add-to-group group-id= "MainMenu" anchor= "last" />
<action id= "MyAction" class = "MyAction" text= "Build on Bitrise" description= "Persisting state in an intellij plugin" />
</group>
</actions> </idea-plugin>
2.处理用户输入
我们需要来自用户的4个输入:
- Bitrise API密钥 :可以从帐户->安全-&