问题
I want to make a template like something $NAME$ other $LOWNAME$
so that when I use it, I'm taken to $NAME$ input list and $LOWNAME$ is automatically filled with decapitalized value of $NAME$ I input. For example, I print "Client" to $NAME$ and the value of $LOWNAME$ is "client". Is this possible?
回答1:
If by "decapitalizing" you mean to lower case only first letter then YES, otherwise No (as there is no function for lower casing all characters).
- Template:
something $NAME$ other $LOWNAME$
- Click on "Edit variables" button
- In "Expression" column for "LOWNAME" variable enter this:
decapitalize(NAME)
and tick/check "Skip if defined" box
Now when template will be expanded, and if you enter "CapitalShip" for $NAME$
variable, the
$LOWNAME$
will automatically become "capitalShip"
http://www.jetbrains.com/phpstorm/webhelp/edit-template-variables-dialog.html
回答2:
To do this with file templates (without expressions) in PHPStorm you can use Java functions in combination with Apache Velocity Template Language:
#set( $name = ${NAME} )
<?php
class ${NAME} extends Model{
protected \$table = '$name.toLowerCase()';
}
来源:https://stackoverflow.com/questions/12107505/how-to-define-phpstorm-live-template-variable-as-lowercase-value-of-another-vari