【问题标题】:How call live template function in setter template?如何在 setter 模板中调用实时模板函数?
【发布时间】:2016-04-01 04:28:00
【问题描述】:

这是一个answer 关于实时模板。它使用capitalizeunderscoresToCamelCase。如何从 setter 模板调用这些函数?只是$underscoresToCamelCase 不起作用:(

【问题讨论】:

    标签: java templates intellij-idea


    【解决方案1】:

    这是不可能的,因为您无法访问速度模板中的实时模板上下文。

    查看速度上下文。它是在org.jetbrains.java.generate.GenerationUtil#velocityGenerateCode 方法中创建的。

    在速度模板中,您可以访问速度模板中的不同值,例如:

      vc.put("helper", GenerationHelper.class);
      vc.put("StringUtil", StringUtil.class);
    

    没有代表像实时模板引擎这样的东西的价值。

    此外,与生成方法相比,实时模板在动态上下文(语法树中的节点)中起作用。他们使用速度模板和固定上下文生成源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      相关资源
      最近更新 更多