我还想在自动生成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;
}
我认为这在java中是不可能的,但您可以通过以下步骤更改注释/代码模板。
请尝试使用上述评论来存档您的想法。
创建自定义setter的能力
使用(新)功能,当您触发插入getter/setter意图时,对话框允许您选择要使用的模板:
最后,还有一个开放的特性请求(IDEABKL-4910 Javadocs for getter/setter),在生成setter和getter时自动包含Javadocs。然而,这是积压工作,现在IDEA-28206已经实施,我怀疑这将得到任何关注。
我知道这篇文章的答案已经被接受了,但是我遇到了同样的问题,尽管我也会试一试。
马克解释了如何在getter和setters选项上创建自己的自定义设置,我尝试使用Intellij的设置来设置
getter
和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;
}
为了便于解释,我使用了
$字段。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;
}
以及
$字段的值。名称与getter中的名称相同。您可以通过这种方式自定义注释结构,并可以使用其他属性,如
$classname##
如果需要也可以。
这只是一个小例子,说明我是如何在Android Studio中为字段生成getters和setters时启用
注释的。
希望这对将来的人有帮助。祝你好运。
在Android Studio中有自动生成给定类中的getter和setter的快捷方式吗?
问题内容: 当我在Eclipse中为名称类似的类字段使用自动生成器进行getter / setter时, 将产生以下内容: 该字段的首字母将不会大写!但是我使用的一些框架可以与反射一起使用,并通过使用“ get” +大写的字段名称来调用getter / setter。 我可以在eclipse中更改getter / setter的代码生成以生成类似和的输出吗? 问题答案: 1)我认为不可能,类似的讨
菜单栏: Code —> Generate —> Getter and Setter Mac: command + N Windows\/Linux: Alt + Insert —> Getter and Setter
当你在Java的时候你可以按 ALT插入-- 在旧版本的Intellij中,我记得当我创建“getter and setter”时,它是在光标位于按下Alt的那一刻创建的。但现在,它们是在为其创建“getter和setter”的字段下创建的。 如何更改此行为,以便在按下Alt/kbd>Insert的那一刻在光标所在的位置创建getter和setter?