IntelliJ 插件 - 如何自动生成代码片段 [Java]

IntelliJ Plugin - How to automatic generate Code Snippet [Java]

我目前正在从事一个通过 IntelliJ 插件实现的项目。不幸的是,我找不到 example/guide 如何为 "automatic code generation" 设置函数。

例如 IntelliJ 的 getter/setter 方法。 (Alt + 插入)

我想用"my Plugin"在当前文件中建立一个小的Java方法。

如果有人能给我提示甚至代码示例,那就太好了。

我知道一般结构 -(plugin.xml -> group-id="GenerateGroup" 等)

好吧,我还没找到真正的教程...

我的解决方案:

  1. Add/Change <depends>com.intellij.modules.java</depends> 在你的 plugin.xml

  2. 当您使用 gradle 项目时,在您的 build.gradle

  3. 中添加:intellij { plugins 'java'

这只是我的新构造函数版本

    public void actionPerformed(AnActionEvent e)
    {

        WriteCommandAction.runWriteCommandAction(null, new Runnable() {
            @Override
            public void run() {
              Editor editor = e.getRequiredData(CommonDataKeys.EDITOR);

                Project project = e.getData(CommonDataKeys.PROJECT);
                PsiFile file = PsiUtilBase.getPsiFileInEditor(editor, project);

                PsiJavaFile psiJavaFile = (PsiJavaFile)file;
                PsiClass[] classes = psiJavaFile.getClasses();

                PsiClass psiClass = classes[0];

                PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory();
                PsiMethod newConstructor = factory.createMethodFromText("puplic " + psiClass.getName() + "() {//new Constructor }", psiClass);
                final PsiMethod[] psiMethods = psiClass.getMethods();
                PsiMethod firstMethod = (psiMethods.length == 0) ? null : psiMethods[0];
                psiClass.addBefore(newConstructor, firstMethod);
            }
        });}

也许有人可以看一下并提出改进建议