自动生成getters和setters的时候我也想生成注释
安卓工作室:
/**
* username
*/
private String name;
public String getName() {
return name;
}
我要:
/**
* username
*/
private String name;
/**
* Get username
* @return username
*/
public String getName() {
return name;
}
最佳答案
我知道这个帖子的答案已经被接受,但我遇到了同样的问题,不过我也会试一试。
正如 Mark 所解释的如何在 getter 和 setter 选项上创建您自己的自定义设置
,我尝试对这两个 getter
使用 Intellij 的设置
> 和 setters
并按照我想要的方式对其进行自定义。
Getter 模板对我来说是这样的:
/**
*@return Gets the value of $field.name and returns $field.name
*/
public ##
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
#end
#else
get##
#end
${name}() {
return $field.name;
}
为了说明,我使用了 $field.name
作为注释值,并使用常规注释结构在方法生成开始之前放置该值。
例如:
/**
*@return Gets the value of $field.name and returns $field.name
*/
这就是我的 Setter 模板的样子:
/**
* Sets the $field.name
You can use get$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() to get the value of $field.name
*/
#set($paramName = $helper.getParamName($field, $project))
public ##
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
}
$field.name
的值与 getter 中的值相同。
您始终可以通过这种方式自定义注释结构,并且可以根据需要使用其他属性,例如 $classname.##
。
这只是一个小示例,说明了我如何在为字段生成 getter 和 setter 时在 Android Studio 中启用评论。
希望这对以后的人有所帮助。祝你好运。
关于java - Android Studio自动生成getters和setters时如何同时生成注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753165/