如何在 WebStorm 文件模板中使用可变内容
How to use variable content in WebStorm file templates
我在 WebStorm 2018.2 中有这个文件模板:
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("#[[$TestSuiteName$]]#", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
这道题的重点是模板的#[[$TestSuiteName$]]#
部分。我想要实现的是,$TestSuiteName
被第一个模板行中计算的值替换,并且 selected 用于编辑,但可以通过按 return.[=16= 来接受]
模板现在所做的只是为 #[[$TestSuiteName$]]#
表达式打印出 "TestSuiteName",这不是我想要的。它正确的是 select 当我按下 return.
时需要的文本 "TestSuiteName"
当我将模板更改为
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("$TestSuiteName", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
那么文件名是正确的驼峰式的,但不是 selected 并且光标立即跳转到 #[[$END$]]#
位置。
获取驼峰文件名 select 以供编辑的正确方法是什么?
目前无法做到这一点:(
$VAR$
语法在 Webstorm 模板中有特殊含义 - 它是一种实时模板变量,一个占位符,允许将光标放在特定位置并在应用模板时编辑值。为了使此类占位符起作用,使用 #[[$VAR$]]#
语法来避免与速度变量发生冲突(#[[]]#
中的文本按原样呈现 - 请参阅 http://velocity.apache.org/engine/1.7/user-guide.html#literals)。这就是为什么在使用 #[[$TestSuiteName$]]#
.
时得到变量名而不是驼峰文件名的原因
我们计划提供在文件模板中使用实时模板的全部功能(实时模板函数、预定义变量、默认值等)的可能性。错过的请投IDEA-161937, IDEA-173721和联票
我在 WebStorm 2018.2 中有这个文件模板:
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("#[[$TestSuiteName$]]#", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
这道题的重点是模板的#[[$TestSuiteName$]]#
部分。我想要实现的是,$TestSuiteName
被第一个模板行中计算的值替换,并且 selected 用于编辑,但可以通过按 return.[=16= 来接受]
模板现在所做的只是为 #[[$TestSuiteName$]]#
表达式打印出 "TestSuiteName",这不是我想要的。它正确的是 select 当我按下 return.
当我将模板更改为
#set($TestSuiteName = ${StringUtils.removeAndHump(${NAME}, "-")})
describe("$TestSuiteName", () => {
it("should work", () =>
{
#[[$END$]]#
});
});
那么文件名是正确的驼峰式的,但不是 selected 并且光标立即跳转到 #[[$END$]]#
位置。
获取驼峰文件名 select 以供编辑的正确方法是什么?
目前无法做到这一点:(
$VAR$
语法在 Webstorm 模板中有特殊含义 - 它是一种实时模板变量,一个占位符,允许将光标放在特定位置并在应用模板时编辑值。为了使此类占位符起作用,使用 #[[$VAR$]]#
语法来避免与速度变量发生冲突(#[[]]#
中的文本按原样呈现 - 请参阅 http://velocity.apache.org/engine/1.7/user-guide.html#literals)。这就是为什么在使用 #[[$TestSuiteName$]]#
.
我们计划提供在文件模板中使用实时模板的全部功能(实时模板函数、预定义变量、默认值等)的可能性。错过的请投IDEA-161937, IDEA-173721和联票