如何在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
相关产品推荐
相关产品推荐

