我想在自动生成getter和setter时生成注释
Android Studio:
/**
* username
*/
private String name;
public String getName() {
return name;
}
我想要:
/**
* username
*/
private String name;
/**
* Get username
* @return username
*/
public String getName() {
return name;
}
答案 0 :(得分:5)
我知道这个帖子已经接受了答案,但我遇到了同样的问题,虽然我也会试一试。
正如Mark解释了如何create you own custom settings on the getters and setters options,
我尝试将Intellij's settings
同时用于getters
和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.##
等其他属性。
这只是我如何做comments enabling in Android Studio when doing a generate getters and setters for the the fields.
希望这可以帮助将来的某个人。祝你好运。
答案 1 :(得分:1)
创建自定义setter& amp;通过功能请求IDEA-28206 Allow customization of generated getter/setter在IntelliJ IDEA v14.1(特别是构建141.177)中添加了getter模板。我不知道该更改是否已合并到Android Studio分支中。
使用(新)功能,当您触发插入getter / setter意图时,对话框允许您选择要使用的模板:
您可以点击浏览按钮来创建新模板。它使用Velocity模板语言。您可以创建一个包含所需注释的模板。在机票中,有人有posted their custom setter。 ticket to document the feature仍有待处理。
最后,有一个开放的功能请求(IDEABKL-4910 Javadocs for getters/setters),以便在生成setter和getter时自动包含Javadoc。然而,这是积压的,现在IDEA-28206已经实施,我怀疑这会得到任何关注。
答案 2 :(得分:0)
我相信这在java中是不可能的,但您可以通过以下步骤更改注释/代码模板。
请尝试使用上述评论归档您的想法。
答案 3 :(得分:0)
Android Studio不支持(至少在1.2版本中) 您可以下载插件(首选项/插件),例如JavaDoc,它在"生成..." 菜单下添加其他选项,并允许您生成javadoc选定或所有字段/方法的注释