IDEA 插件开发笔记
前言
Gradle创建项目
- File -> New -> Project -> Gradle,勾选 Java 和 IntelliJ Platform Plugin,可以勾选 Kotlin 相关内容但不影响
- 2021.2.3 版本的 IDEA 必须用 JDK 11 及以上进行开发
- 配置过程会在 .gradle 文件夹中下载一个 IDEA 本体程序包,注意磁盘剩余空间
项目结构
src/main/java
功能代码目录
src/main/resource/plugin.xml
配置文件
- 开发流程为写功能代码 + 注册到配置文件中
Action——菜单项
Action
Action Group
Module——项目创建向导
项目类型
向导内容
- 创建一个 MyModuleBuilder 继承 ModuleBuilder
public class MyModuleBuilder extends ModuleBuilder {
@Override
public ModuleType<?> getModuleType() {
// IDEA 提供了默认的一些类型,这里选空类型,在新建项目时就会在列表里显示为空项目。否则需要创建自己的 ModuleType 子类并注册
return ModuleType.EMPTY;
}
@Override
public void setupRootModel(@NotNull ModifiableRootModel modifiableRootModel) throws ConfigurationException {
// 点击最后一步 finish 按钮,创建了项目名文件夹后的逻辑
// 最后应该调用默认的 doAddContentEntry() 创建这个项目
doAddContentEntry(modifiableRootModel);
}
@Override
public ModuleWizardStep[] createWizardSteps(@NotNull WizardContext wizardContext, @NotNull ModulesProvider modulesProvider) {
// 每一个 ModuleWizardStep 就是创建项目的一个步骤,当然最后一步 finish 那页不算
return new ModuleWizardStep[]{
new ModuleWizardStep() {
@Override
public JComponent getComponent() {
// 返回 Java Swing 界面,IDEA 还提供了另一套 Swing 组件(JB-前缀)
return null;
}
@Override
public void updateDataModel() {
}
}
};
}
}
- 在配置文件中添加我们的 Builder 就可以看到效果
<extensions defaultExtensionNs="com.intellij">
<moduleBuilder builderClass="com.example.test.module.MyModuleBuilder"/>
</extensions>
原文地址:https://www.cnblogs.com/moonfan/p/15555664.html