需求分析
要搞一下鸿蒙,需要做一个Intelij的插件。
这篇文章只是跑通整个流程,并没有实际的功能。
整体思路
Deco Studio是根据Intellij某个开源版本改的,因此写Deco的插件其实就是写Intelij的插件。
环境
操作系统:Win11
Intelij:2024.3
Deco Studio:5.0.5.301
具体操作步骤
- 在Intellij里面安装插件:Plugin DevKit
- 新建一个Plugin的项目
- 确保这三个地方的Java版本一定要一致!!
- 在
build.gradle.kts
中配置插件的基本信息和依赖:
plugins {
id("java")
id("org.jetbrains.intellij") version "1.17.4"
}
intellij {
version = "2024.3" // 目标 IDE 版本
type = "IC" // 社区版(IC)或企业版(IU)
plugins = listOf(/* 插件依赖 */)
}
tasks {
patchPluginXml {
sinceBuild.set("243") // 最低兼容版本
untilBuild.set("243.*") // 最高兼容版本
}
}
- 开发插件功能
创建 Action:在 src/main/java
目录下创建包和 Action 类,例如:
package com.example.plugin;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.ui.Messages;
public class ShowHelloAction extends AnAction {
@Override
public void actionPerformed(AnActionEvent e) {
Messages.showInfoMessage(e.getProject(), "Hello, DevEco Studio!", "Plugin Demo");
}
}
注册 Action:在 plugin.xml
中注册 Action:
<idea-plugin>
<id>com.example.plugin</id>
<name>My Plugin</name>
<vendor email="support@example.com" url="https://example.com">Example Inc.</vendor>
<description>This is a demo plugin for DevEco Studio.</description>
<depends>com.intellij.modules.platform</depends>
<actions>
<action id="com.example.plugin.ShowHelloAction"
class="com.example.plugin.ShowHelloAction"
text="Show Hello"
description="Display a hello message">
<add-to-group group-id="ToolsMenu" anchor="first"/>
</action>
</actions>
</idea-plugin>
- 打包插件
在终端或 Gradle 工具窗口中运行以下命令:
./gradlew buildPlugin
打包完成后,插件文件会生成在 build/distributions
目录下,文件名为 <插件名称>-<版本号>.zip
。
- 在 DevEco Studio 中使用插件
打开 DevEco Studio,进入 File > Settings > Plugins。
点击右上角的齿轮图标,选择 Install Plugin from Disk…。
选择生成的 .zip
文件并安装。
重启 DevEco Studio,验证插件功能是否正常运行。
- 验证
打开Deco Studio,打开 Tools 菜单,点击 Show Hello,插件会弹出一个消息框