IntelliJ中的动态模板语言是什么?

时间:2016-04-08 11:07:32

标签: intellij-idea velocity live-templates

IntelliJ中的动态模板的语言是什么?

与其他模板一样,这是Velocity吗?

这种语言是否有条件运算符?

我在IntelliJ中有以下默认设置器模板的代码:

#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;
}

我可以在实时模板语言中使用相同的内容吗?

1 个答案:

答案 0 :(得分:0)

实时模板的语言不是Velocity,它更简单:只是变量(及其值的表达式)。实时模板中没有控制结构(条件/循环)。

所以你不能拥有相同的"在实时模板中,它似乎没有意义,因为实时模板和生成模板是针对不同的上下文设计的,并且可以访问不同的信息。例如,当您生成一个setter时,您之前选择了相应的字段,因此定义了$field变量。但是在实时模板中没有这样的隐含上下文。