IDEA插件开发实战:打造专属的代码生成工具

IDEA插件开发实战:打造专属的代码生成工具



一、重复代码的烦恼:每天写100遍相似代码

上周审核代码时,我发现团队里每个新服务都有这样的结构:

// 用户服务
@RestController
@RequestMapping("/user")
public class UserController {
   
   
    @Autowired
    private UserService userService;
    
    @GetMapping("/{id}")
    public Result<User> getById(@PathVariable Long id) {
   
   
        return Result.success(userService.getById(id));
    }
    
    // 还有save、update、delete... 共15个相似方法
}

// 商品服务(重复造轮子)
@RestController
@RequestMapping("/product")
public class ProductController {
   
   
    @Autowired
    private ProductService productService;
    
    @GetMapping("/{id}")
    public Result<Product> getById(@PathVariable Long id) {
   
   
        return Result.success(productService.getById(id));
    }
    // 又写15个...
}

这就像每次吃饭都要重新捏筷子——明明可以定制一副专属餐具。今天我们就用IDEA插件开发,打造自己的"代码生成筷子"!


二、准备插件工具箱:搭建你的乐高工作台

步骤1:安装插件开发套件(像领取乐高工具箱)

  1. 在IDEA中安装Plugin DevKit插件
  2. 新建项目 → IDE Plugin → 项目名CodeGenerator

步骤2:配置基础零件(像整理积木分类)

<!-- build.gradle关键配置 -->
plugins {
    id 'java'
    id 'org.jetbrains.intellij' version '1.13.3'
}

intellij {
    version = '2023.1' // 适配IDEA版本
    plugins = ['java'] // 依赖的插件
}

dependencies {
    implementation 'org.freemarker:freemarker:2.3.32' // 模板引擎
}

步骤3:创建第一个动作(像拼装基础模块)

// 创建生成菜单动作(像乐高底座)
public class GenerateCRUDAction extends AnAction {
   
   
    @Override
    public void actionPerformed(@NotNull AnActionEvent event) {
   
   
        // 当点击菜单时触发
        Project project = event.getProject();
        Messages.showMessageDialog(project, <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双囍菜菜

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值