1 回答
TA贡献2012条经验 获得超12个赞
获取插件CodeGenerator,通过他们的GitHub Repository > Releases.
最新版本是1.3.3
“从磁盘”安装插件,重新启动 IntelliJ/Android Studio,然后通过Settings > CodeGenerator,用这段代码修改默认Getter and Setter模板,并启用它
#foreach($field in $fields)
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field.element, $project))))
#if ($field.boolean && $field.primitive)
#set($getter = "is${name}")
#else
#set($getter = "get${name}")
#end
#set($setter = "set${name}")
#if($field.modifierStatic)
static ##
#end
#if($field.modifierStatic)
static ##
#end
Optional<$field.type> ##
${getter}() {
return Optional.fromNullable($field.name);
}
#if($field.modifierStatic)
static ##
#end
void ${setter}($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
}
#end
Alt+ins您可以通过(或Code > Generate)使用它
根据需要自定义您的模板,或添加新模板。享受 ;)
这也是我在为 IDEA 寻找的东西。其实很久以来。不幸的是,到目前为止,它似乎无法参数化。
这是 YouTrack 问题,它使自动插入@Nullable
和@NotNull
生成的 getter/setter可用
https://youtrack.jetbrains.net/issue/IDEA-30683
如果可能,您可以投票支持会自动转换为Optional<T>
getter的功能
https://youtrack.jetbrains.net/issue/IDEA-201804
您可以投票支持向 Apache Velocity 模板公开注释的功能
https://youtrack.jetbrains.net/issue/IDEA-176763
添加回答
举报