Ide 如何将PHPStorm live模板变量定义为另一个变量的小写值?

Ide 如何将PHPStorm live模板变量定义为另一个变量的小写值?,ide,phpstorm,Ide,Phpstorm,我想制作一个像something$NAME$other$LOWNAME$这样的模板,这样当我使用它时,我会被带到$NAME$input列表,$LOWNAME$会自动填充$NAME$I input的无头值。例如,我将“Client”打印到$NAME$,而$LOWNAME$的值是“Client”。这是可能的吗?如果“斩首”的意思是仅小写第一个字母,则为是,否则为否(因为没有将所有字符小写的功能) 模板:something$NAME$其他$LOWNAME$ 点击“编辑变量”按钮 在“LOWNAME”变

我想制作一个像
something$NAME$other$LOWNAME$
这样的模板,这样当我使用它时,我会被带到$NAME$input列表,$LOWNAME$会自动填充$NAME$I input的无头值。例如,我将“Client”打印到$NAME$,而$LOWNAME$的值是“Client”。这是可能的吗?

如果“斩首”的意思是仅小写第一个字母,则为是,否则为否(因为没有将所有字符小写的功能)

  • 模板:
    something$NAME$其他$LOWNAME$
  • 点击“编辑变量”按钮
  • 在“LOWNAME”变量的“Expression”列中输入以下内容:
    decapitalize(NAME)
    并勾选/选中“Skip if defined”框
  • 现在,当模板展开时,如果为
    $NAME$
    变量输入“CapitalShip”,则
    $LOWNAME$
    将自动成为“capitalShip”


    要使用PHPStorm中的文件模板(不含表达式),您可以将Java函数与以下函数结合使用:

    #set($name=${name})
    
    谢谢我在
    去资本化($NAME$)
    上也尝试了同样的方法-它在静默中不起作用确保对变量进行排序(在“编辑变量”中),使LOWNAME出现在NAME之后。效果很好!我在使用转义\$时遇到了一些问题,因此对于同一地点的人来说,使用
    ${DS}
    #set( $name = ${NAME} )
    <?php
    
    class ${NAME} extends Model{
      protected \$table = '$name.toLowerCase()';
    }