2014-10-17 76 views
3

在intellij产品中,我非常喜欢live-templates。我想知道是否有可能对文件模板使用相同的语法,例如将变量格式化为蛇形或骆驼形,定义起始光标位置等。是否可以使用实时模板作为文件模板?

+1

完全一样 - 没有。文件模板使用Apache Velocity模板语言。它允许一些Java(?)简单的方法在变量上运行(例如'#set($ class_start = $ class.substring(0,1).toUpperCase())') - 也许更复杂也可以。 – LazyOne 2014-10-17 12:52:28

+0

@LazOne:非常有帮助!尤其是他们使用Apache速度模板语言的暗示。如果您以此作为答案,我会接受。 – 2014-10-17 12:56:59

+0

关于如何定义起始光标位置的任何想法?每次我创建一个新的Java类,光标位置都在类名的末尾。我必须按键才能进入课堂。 – Rounak 2015-04-02 13:47:14

回答

2

不幸的是,您不能使用文件模板中实时模板中可用的相同函数/宏。使用Apache Velocity template language。它允许一些Java(?)简单方法在变量上运行(例如#set($class_start = $class.substring(0,1).toUpperCase()))。很可能更复杂的方法也会起作用。


更新(2017年1月13日):

由于2016.1(或者2016.2)版本,它现在可以用在文件模板一些动态模板以及(通过检查Enable Live Templates该文件模板的复选框)。我不是100%确定它是否会按照要求做的事情(未经过测试)。

语法例如:#[[ $MY_VARIABLE$ $END$ ]]#

https://www.jetbrains.com/help/phpstorm/2016.3/file-and-code-templates-2.html

相关问题