IntelliJ LiveTemplate getter代码段中有不必要的空格



我试图创建null安全模板getter(返回可选)与这样的代码:

#if($field.modifierStatic)
static ##
#end
Optional<$field.type> ##
#if($field.recordComponent)
${field.name}##
#else
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}##
#end
() {
return Optional.ofNullable($field.name);
}

但是当尝试创建getter时,我得到错误:

不正确的方法'可选get Product(){返回Optional.ofNullable(产品);} '

看起来模板既不能解析字段类型,也不能正确地将'get'与fieldName(空格)连接起来。

有人能帮忙吗?我的IntelliJ版本:2020.03.04

模板中的任何空格都包含在生成的代码中。大多数将在生成后自动进行的重新格式化中再次删除。但是方法名中的空白会破坏代码,并且重新格式化也无法修复它。因此,您需要删除#if语句的缩进以避免这种情况。

这个模板应该可以工作:

#if($field.modifierStatic)
static ##
#end
Optional<$field.type> ##
#if($field.recordComponent)
${field.name}##
#else
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}##
#end
() {
return Optional.ofNullable($field.name);
}

相关内容

  • 没有找到相关文章

最新更新