You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IntelliJ中一次性对所有类执行delombok操作?

如何在IntelliJ IDEA中一次性对所有类执行Delombok操作

IntelliJ IDEA没有直接提供一键批量Delombok的功能,但可以通过以下两种可靠方式实现:

方式一:利用IDEA结构化搜索替换

这是纯IDE内的操作,适合不想依赖构建工具的场景:

  • 打开Edit > Find > Replace in Path(快捷键Ctrl+Shift+R)
  • 切换到Structural Search/Replace标签页
  • 点击搜索框旁的...按钮,新建搜索模板,匹配带Lombok注解的类(以@Getter为例):
    @Getter
    class $Class$ {
      $Fields$;
    }
    
    在变量设置中,给$Fields$添加约束:匹配类的成员字段,可按需排除静态字段
  • 切换到Replace标签,创建替换模板,去掉注解并自动生成getter方法:
    class $Class$ {
      $Fields$;
      $GetterMethods$
    }
    
    选中$GetterMethods$变量,在右侧设置中选择"Generate getter methods for fields",让IDEA自动对应字段生成方法
  • 选择要处理的范围(整个项目、指定模块或目录),点击Replace All

方式二:通过构建工具插件批量处理

如果项目用Maven或Gradle,用官方插件处理更彻底:

Maven配置

在pom.xml中添加delombok-maven-plugin:

<plugin>
  <groupId>org.projectlombok</groupId>
  <artifactId>delombok-maven-plugin</artifactId>
  <version>1.18.30.0</version>
  <executions>
    <execution>
      <phase>generate-sources</phase>
      <goals>
        <goal>delombok</goal>
      </goals>
      <configuration>
        <sourceDirectory>src/main/java</sourceDirectory>
        <outputDirectory>target/delombok</outputDirectory>
        <addOutputDirectory>false</addOutputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>

执行命令:mvn delombok:delombok,处理后的代码会输出到target/delombok目录,将这些文件替换回原源码目录即可。

Gradle配置

引入io.freefair.lombok插件并添加Delombok任务:

plugins {
  id 'io.freefair.lombok' version '8.6'
}

task delombok(type: io.freefair.gradle.plugins.lombok.tasks.Delombok) {
  sourceSets = [sourceSets.main]
  outputDir = file("$buildDir/delombok")
}

执行命令:./gradlew delombok,同样将build/delombok下的代码替换原文件。

注意事项

  • 批量操作前务必备份源码,避免意外覆盖
  • 结构化搜索模板可能需要根据项目中Lombok注解的使用情况调整,确保匹配准确
  • 构建工具插件会处理所有Lombok注解(如@Setter、@Data等),比IDE操作覆盖更全面

内容的提问来源于stack exchange,提问作者Wacage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 14:07:03