插件开发官方文档 https://plugins.jetbrains.com/docs/intellij/plugin-content.html
搭建demo项目
-
File—>new—>Project—>Gradle
-
目录结构
-
编写demo
3.1 修改build.gradle配置文件
plugins { id 'java' id 'org.jetbrains.intellij' version '1.1' } group 'org.example' version '1.0-SNAPSHOT' # jdk为1.8 sourceCompatibility = 1.8 # 编码 compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' repositories { mavenCentral() maven {url "https://maven.aliyun.com/repository/public" } maven {url "https://maven.aliyun.com/repository/gradle-plugin" } } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } intellij { # 指定编译intellij版本为2017.3 version='2017.3' # 配置build后支持2017.3以上的版本 updateSinceUntilBuild=false } test { useJUnitPlatform() }
3.2 修改settings.gradle配置
# 项目名称 rootProject.name = 'magical-box'
3.3 java目录下新建Action(new—>Plugin DevKit—>Action)
import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; public class HelloWorldAction extends AnAction { @Override public void actionPerformed(AnActionEvent e) { Project project = e.getData(PlatformDataKeys.PROJECT); String title = "标题"; String msg = "hello world"; Messages.showMessageDialog(project, msg, title, Messages.getInformationIcon()); } }
3.4 pugin.xml中添加action
<action id="HelloWorld" class="HelloWorldAction" text="Say Hello!"> <add-to-group group-id="WindowMenu" anchor="first"/> </action>
-
编译运行runIde
-
打包,生成zip