文章目录
前言
idea创建文件时会根据模板自动生成代码
使用lombok的用户可能会感觉麻烦,每次生成的代码上面都需要自己手动添加@Data或者@Accessors
本文就教大家怎么修改idea默认的模板
一、velocity是什么?
idea使用的模板是velocity
用户指南
二、使用步骤
1.设置
Settings -> Editor -> File and Code Templates -> File
2.修改模板
以Class模板为例
可以在public上面添加注解
@Data
@Accessors(chain = true)
包名下面别忘记引入
import lombok.Data;
import lombok.experimental.Accessors;
下面是我自己的Class模板,可以参考下
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#if (!${NAME.endsWith("Controller")} && !${NAME.endsWith("Test")})
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;#end
#if (${NAME.endsWith("Controller")})
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
#end
#parse("File Header.java")
#if (!${NAME.endsWith("Controller")} && !${NAME.endsWith("Test")})
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)#end
#if (${NAME.endsWith("Controller")})
@RestController
@RequestMapping("/${NAME.toLowerCase().replace('controller', '')}")
@AllArgsConstructor
public class ${NAME} extends BaseController {
}
#elseif (${NAME.endsWith("Test")})
public class ${NAME} {
}
#else
public class ${NAME} extends BaseEntity {
}
#end
File Header.java
/**
* ${NAME}
* @author ${USER}
* @date ${DATE}
*/
扩展
支持自定义变量,比如插入${version},每次创建对应文件时除了输入名字外,还会额外弹出对话框输入对应的version插入到指定位置。
但是velocity的#set()设置的变量貌似不行,引用的时候会当成字符串解析,也有可能是我使用方式不对,欢迎指正。