IntelliJ Live模板:修改后的setters模板

Gui*_*ume 4 java intellij-idea code-templates

有没有人知道如何在intellij中设置一个实时模板来做专门的setter - 我正在使用v5,但我很乐意接受更新版本的知识) -

我的第一个需求是firePropertyChange setter:

public final static String $PROPERTY$ = "$property$"
public void set$Property$($TYPE$ $property$) {
    Object oldValue = this.$property$;
    this.$property$ = $property$;
    firePropertyChange($PROPERTY$, oldValue, $property$);
}
Run Code Online (Sandbox Code Playgroud)

我有一个半工作版本,使用如下定义的变量生成实现:$ property $ - > completeSmart()$ PROPERTY $ - > completeSmart()

我的第二个需求是一个构建器样式的setter,它调用常规setter然后在set之后返回:

public $THIS_TYPE$ with$Property$($TYPE$ $property$) {
    set$Property$($property$); 
    return this;
}
Run Code Online (Sandbox Code Playgroud)

对于这个我没有什么好的东西:我仍然需要打字很多!

有什么建议吗?

Jan*_*Jan 7

像这样的东西

private $TYPE$ $NAME$;
public $THIS$ set$BNAME$($TYPE$ $NAME$) {
    this.$NAME$ = $NAME$;
    return this;
}
Run Code Online (Sandbox Code Playgroud)

哪里

Type = complete()
NAME = suggestVariableName()
BNAME = capitalize(NAME)
THIS = className()
Run Code Online (Sandbox Code Playgroud)

唯一的问题是className不能在嵌套类中工作,因为它将返回"Outer $ Inner"但它应该工作得足够好.