Intellij IDEA 自定义 getter and setter

Posted winner-0715

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intellij IDEA 自定义 getter and setter相关的知识,希望对你有一定的参考价值。

选择某个类,Alt+Insert,选择getter and setter

编辑getter template,输入以下,将boolean类型生成getXx()和setXx(),而不是isXx()方法:

#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
get${name}() {
return this.$field.name;
}

编辑setter template,输入以下,会生成如public className setXx()的方法。

#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
$classname 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;
return this;
}

生成示例代码如下:

public class User {
    private boolean flag;

    public boolean getFlag() {
        return flag;
    }

    public User setFlag(boolean flag) {
        this.flag = flag;
        return this;
    }
}

2,生成lombok风格的getter和setter

getter模板

#if($field.modifierStatic)  
static ##  
#end  
$field.type ##  
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))  
#set($name = $name.substring(0, 1).toLowerCase() + $name.substring(1))  
${name}() {  
return $field.name;  
}  

setter模板

#set($paramName = $helper.getParamName($field, $project))  
#if($field.modifierStatic)  
static ##  
#end  
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))  
#set($name = $name.substring(0, 1).toLowerCase() + $name.substring(1))  
$classname ${name}($field.type $paramName) {  
#if ($field.name == $paramName)  
    #if (!$field.modifierStatic)  
    this.##  
    #else  
        $classname.##  
    #end  
#end  
$field.name = $paramName;  
return this;  
}  

以上是关于Intellij IDEA 自定义 getter and setter的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA中lombok包setter / getter方法失效

IntelliJ IDEA 2022 自定义配置及系统文件 window

使用 IntelliJ IDEA 自定义注释样式

如何在 Intellij Idea 中使用自定义 sbt 版本?

Intellij idea liveTemplate,方法,类,Html 自定义注释

IntelliJ:自定义代码生成模板