我在WebStorm 2018.2中具有此文件模板:
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("#[[$TestSuiteName$]]#", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
这个问题的重点是模板的#[[$TestSuiteName$]]#
部分。我要实现的是,将$TestSuiteName
替换为在第一条模板行中计算出的值,并选择进行编辑,但是可以通过按return键来接受。
模板现在所做的全部就是为#[[$TestSuiteName$]]#
表达式打印出“ TestSuiteName”,这不是我想要的。正确的做法是选择文本“ TestSuiteName”,该文本在我按回车键时会显示。
当我将模板更改为
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("$TestSuiteName", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
然后,文件名会正确驼峰驼峰,但不会被选择,并且光标会立即跳到#[[$END$]]#
位置。
选择骆驼驼峰文件名进行编辑的正确方法是什么?
答案 0 :(得分:2)
当前无法执行此操作:(
$VAR$
语法在Webstorm模板中具有特殊含义-这是一种实时模板变量,它是一个占位符,可以在应用模板时将光标放在特定位置并编辑值。为了使这些占位符起作用,使用了#[[$VAR$]]#
语法以避免与速度变量发生冲突(#[[]]#
中的文本按原样呈现-请参见http://velocity.apache.org/engine/1.7/user-guide.html#literals)。这就是使用#[[$TestSuiteName$]]#
时得到变量名而不是驼峰文件名的原因。
我们计划提供一种可能性,以在文件模板中使用实时模板的全部功能(实时模板功能,预定义变量,默认值等)。如果错过了,请投票给IDEA-161937,IDEA-173721和链接的票证