如何将多个函数应用于传入的实时模板变量?

时间:2016-09-23 11:56:15

标签: intellij-idea pycharm live-templates

我正在尝试在PyCharm中构建一个Python单元测试文件模板。我想要实现的总体结果是:

  1. 用户使用我的模板创建一个新文件,例如“widget_builder.py
  2. 在模板内部,我想通过取文件名“widget_builder”并将其转换为“WidgetBuilderTests”来创建类名
  3. 看起来我需要使用实时模板来操作文件模板变量$FILE_NAME$

    如何创建一个给定传入变量的实时模板(在本例中为$FILE_NAME$),同时应用underscoresToCamelCasecapitalize函数?

    如果我将模板文本声明为:

    $CLASS_NAME$
    

    ...然后编辑变量,如何引用传入的'$ FILE_NAME $'变量?

    我想它看起来像这样,但我无法让它起作用:

    Example

    我确信必须有办法做到这一点,但我不能完全围绕它。

    这可能吗?谢谢!

    修改

    我还有一点。如果我将模板定义为:

    enter image description here

    如果我再使用它,就会发生这种情况:

    enter image description here

    左边的$CLASS_NAME$WidgetBuilder)的最终结果是我想要的,但我不希望$FILE_NAME$widget_builder)出现在那里我回来了。

1 个答案:

答案 0 :(得分:1)

所以你的问题是$FILE_NAME$不是实时模板中的原生变量,只是一个任意名称。你真正想要使用的是另一个功能:fileNameWithoutExtension()

所以你的模板看起来像这样: enter image description here