写一个IDEA插件,在IDEA的File -> New -> Project 中添加一个选项myOptions ,该选项集成java选项的所有功能,同时新增一个小功能,这个小功能是:
把插件功能下lib目录中的jar包自动加到新建的工程的依赖中
1. 在 IntelliJ IDEA 中,创建一个新的插件项目。选择 "File -> New -> Project",然后从左侧菜单中选择 "IntelliJ Platform Plugin"。
你需要创建一个新的项目生成器,继承自 `JavaModuleBuilder` 或类似的基类,以集成 Java 项目的所有功能。
import com.intellij.ide.util.projectWizard.JavaModuleBuilder;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;public class MyJavaProjectBuilder extends JavaModuleBuilder {@Overridepublic void setupRootModel(@NotNull ModifiableRootModel rootModel) {super.setupRootModel(rootModel);addMyLibrary(rootModel);}private void addMyLibrary(ModifiableRootModel rootModel) {// 示例代码,实际路径应根据你的 lib 目录位置调整String libPath = "path/to/your/lib/directory";Library library = LibraryTablesRegistrar.getInstance().getLibraryTable().createLibrary("MyLib");Library.ModifiableModel libModel = library.getModifiableModel();libModel.addJarDirectory(libPath, false);libModel.commit();rootModel.addLibraryEntry(library);}@Overridepublic ModuleType<?> getModuleType() {return MyJavaModuleType.getInstance();}
}
步骤 3: 注册你的项目类型
你需要创建一个 ModuleType 的实现,并在 plugin.xml 中注册它和你的项目生成器。
import com.intellij.openapi.module.ModuleType;
import icons.PluginIcons;
import org.jetbrains.annotations.NotNull;public class MyJavaModuleType extends ModuleType<MyJavaProjectBuilder> {private static final String ID = "MY_JAVA_MODULE_TYPE";public MyJavaModuleType() {super(ID);}@NotNull@Overridepublic MyJavaProjectBuilder createModuleBuilder() {return new MyJavaProjectBuilder();}@NotNull@Overridepublic String getName() {return "My Java Project";}@NotNull@Overridepublic String getDescription() {return "A Java project with my custom setup";}@Overridepublic @NotNull String getBigIcon() {return PluginIcons.MyIcon; // 自定义图标}public static MyJavaModuleType getInstance() {return (MyJavaModuleType) ModuleTypeManager.getInstance().findByID(ID);}
}
步骤 4: 更新 plugin.xml
在 plugin.xml 中注册你的模块类型和项目生成器。
<extensions defaultExtensionNs="com.intellij"><moduleType id="MY_JAVA_MODULE_TYPE" class="your.package.MyJavaModuleType"/><projectTemplate implementation="your.package.MyJavaProjectBuilder"/>
</extensions>
步骤 5: 添加 lib 目录和 JAR
确保你的插件项目中包含了 lib 目录和需要自动添加到新项目依赖中的 JAR 文件。你需要在 addMyLibrary 方法中正确设置 libPath 变量,以指向这个目录。
注意
- 这个示例提供了一个基本的框架,但在实际开发中,你可能需要根据 IntelliJ Platform SDK 的最新文档进行调整。
- 自动添加 JAR 依赖的部分简化了路径处理。