gpt4 book ai didi

java - IntelliJ Plugin - 如何自动生成代码片段 [Java]

转载 作者:行者123 更新时间:2023-12-01 16:19:41 25 4
gpt4 key购买 nike

我目前正在开发一个通过 IntelliJ 插件实现的项目。不幸的是,我找不到如何设置“自动代码生成”功能的示例/指南。

IntelliJ 的 getter/setter 方法就是一个例子。 (Alt + 插入)

我想使用“我的插件”在当前文件中构建一个小的Java方法。

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

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

最佳答案

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

我的解决方案:

  1. 添加/更改 <depends>com.intellij.modules.java</depends>在你的plugin.xml中

  2. 使用gradle项目时添加:intellij { plugins 'java'在你的 build.gradle 中

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

    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);
}
});}

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

关于java - IntelliJ Plugin - 如何自动生成代码片段 [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62307406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com