1 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
獲取插件CodeGenerator,通過(guò)他們的GitHub Repository > Releases.
最新版本是1.3.3
“從磁盤”安裝插件,重新啟動(dòng) IntelliJ/Android Studio,然后通過(guò)Settings > CodeGenerator,用這段代碼修改默認(rèn)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您可以通過(guò)(或Code > Generate)使用它
根據(jù)需要自定義您的模板,或添加新模板。享受 ;)
這也是我在為 IDEA 尋找的東西。其實(shí)很久以來(lái)。不幸的是,到目前為止,它似乎無(wú)法參數(shù)化。
這是 YouTrack 問(wèn)題,它使自動(dòng)插入@Nullable
和@NotNull
生成的 getter/setter可用
https://youtrack.jetbrains.net/issue/IDEA-30683
如果可能,您可以投票支持會(huì)自動(dòng)轉(zhuǎn)換為Optional<T>
getter的功能
https://youtrack.jetbrains.net/issue/IDEA-201804
您可以投票支持向 Apache Velocity 模板公開(kāi)注釋的功能
https://youtrack.jetbrains.net/issue/IDEA-176763
添加回答
舉報(bào)