如何使用另一个变量创建带有表达式的实时模板?
How do I create a live template with an expression using another variable?
在 Intellij IDEA 15.0.3(build #IU-143.1821)中,我正在尝试创建一个实时模板,它可以让我输入一个 JavaScript 函数名称(驼峰式),并创建一个常量 ( IN_UPPER_CASE).
例如,当我输入模板缩写,然后输入 sendUserNameAndPassword
时,模板应扩展为
export const SEND_USERNAME_AND_PASSWORD = 'SEND_USERNAME_AND_PASSWORD';
export function sendUserNameAndPassword() {
}
我创建了这个模板:
export const $CONSTANT_NAME$ = '$CONSTANT_NAME$';
export function $FUNCTION_NAME$() {
$END$
}
在编辑变量对话框中,我有以下变量:
Name | Expression | Default value | Skip if defined
FUNCTION_NAME | | |
CONSTANT_NAME | capitalizeAndUnderscore(String) | | x
显然,我希望表达式为 capitalizeAndUnderscore(FUNCTION_NAME)
而不是 capitalizeAndUnderscore(String)
,但是当我将 String
替换为其他任何内容时,表达式将重置为 capitalizeAndUnderscore(String)
一旦我移动到对话框中的另一个字段。
我在这里错过了什么?
这似乎是 Intellij IDEA 中已确认的错误:https://youtrack.jetbrains.com/issue/IDEA-132965
简而言之,当前的解决方法是:
编辑表达式后,不要移动到另一个字段或按Return;直接点击 OK 按钮。这将保存您的编辑。
然后,您必须重新打开 编辑变量 对话框才能进行更多编辑。
在 Intellij IDEA 15.0.3(build #IU-143.1821)中,我正在尝试创建一个实时模板,它可以让我输入一个 JavaScript 函数名称(驼峰式),并创建一个常量 ( IN_UPPER_CASE).
例如,当我输入模板缩写,然后输入 sendUserNameAndPassword
时,模板应扩展为
export const SEND_USERNAME_AND_PASSWORD = 'SEND_USERNAME_AND_PASSWORD';
export function sendUserNameAndPassword() {
}
我创建了这个模板:
export const $CONSTANT_NAME$ = '$CONSTANT_NAME$';
export function $FUNCTION_NAME$() {
$END$
}
在编辑变量对话框中,我有以下变量:
Name | Expression | Default value | Skip if defined
FUNCTION_NAME | | |
CONSTANT_NAME | capitalizeAndUnderscore(String) | | x
显然,我希望表达式为 capitalizeAndUnderscore(FUNCTION_NAME)
而不是 capitalizeAndUnderscore(String)
,但是当我将 String
替换为其他任何内容时,表达式将重置为 capitalizeAndUnderscore(String)
一旦我移动到对话框中的另一个字段。
我在这里错过了什么?
这似乎是 Intellij IDEA 中已确认的错误:https://youtrack.jetbrains.com/issue/IDEA-132965
简而言之,当前的解决方法是:
编辑表达式后,不要移动到另一个字段或按Return;直接点击 OK 按钮。这将保存您的编辑。
然后,您必须重新打开 编辑变量 对话框才能进行更多编辑。