IntelliJ具有生成Java getter的很酷功能。例如,对于字段private final String foo
,它将生成一个getter getFoo()
。
有什么方法可以配置IntelliJ以String foo()
格式生成getter?我主要使用不可变对象,并且更喜欢这种语法。
答案 0 :(得分:11)
整洁的问题!只是为了澄清@Danny Dan的答案,因为IntelliJ 15已经发布......
fluent-getter
public ##
#if($field.modifierStatic)
static ##
#end
$field.type ##
${field.name}() {
return $field.name;
}
结帐Implementing Domain-Driven Design:
对象设计的简单而有效的方法使价值对象忠实于无所不在的语言。使用
getValuePercentage()
是一种技术性计算机语句,但valuePercentage()
是一种流利的人类可读语言表达。
答案 1 :(得分:3)
如果我理解正确,你现在就无法修改getter / setter。 Issue on youtrack
P.S。好的,现在Fix版本是14.1,您可以在Alt-Insert
菜单中直接创建并选择getter / setter模板。
答案 2 :(得分:1)
以下是基于@Ed。previous answer的一些略微改进的模板:
public ##
#if($field.modifierStatic)
static ##
#end
$field.type ##
${field.name}() {
return ##
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
$field.name;
}
#set($paramName = $helper.getParamName($field, $project))
public ##
#if($field.modifierStatic)
static ##
#end
void ##
${field.name}($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
}
答案 3 :(得分:0)
我喜欢为isXxx
使用boolean
(例如isConnected()
),如果需要,则模板为:
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))
#if ($field.boolean && $field.primitive)
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))is##
#else
##
#end
${name}() {
return $field.name;
}