如何在Android Studio中自动生成getter和setter时生成注释

Hey*_*ycz 4 java android intellij-idea android-studio

我想在自动生成getter和setter时生成注释

Android Studio:

/**
 * username
 */
private String name;

public String getName() {
    return name;
}
Run Code Online (Sandbox Code Playgroud)

我想要:

/**
 * username
 */
private String name;

/**
 * Get username
 * @return username
 */
public String getName() {
    return name;
}
Run Code Online (Sandbox Code Playgroud)

mik*_*013 5

我知道这个帖子已经接受了答案,但我遇到了同样的问题,虽然我也会给它一个机会.

正如马克解释了create you own custom settings on the getters and setters options,我如何尝试使用Intellij's settings两者getterssetters按照我想要的方式对其进行定制.

这就是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;
}
Run Code Online (Sandbox Code Playgroud)

为了解释,我使用了$field.name作为注释值并使用常规注释结构在方法生成开始之前放置值.

例如:

    /**
    *@return Gets the value of $field.name and returns $field.name 
    */
Run Code Online (Sandbox Code Playgroud)

这就是我的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;
}
Run Code Online (Sandbox Code Playgroud)

并且值$field.name与getter中的值相同.您始终可以通过这种方式自定义注释结构,并且可以使用其他属性$classname.##(如果需要).

这只是我如何做到的一个小例子 comments enabling in Android Studio when doing a generate getters and setters for the the fields.

希望这可以帮助将来的某个人.祝好运.