5

在 Intellij IDEA 15.0.3(build #IU-143.1821)中,我正在尝试创建一个实时模板,它可以让我输入一个 JavaScript 函数名称(在 camelCase 中),并创建一个常量(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)只要我移动到对话框中的另一个字段,表达式就会重置为。

我在这里想念什么?

4

1 回答 1

5

这似乎是 Intellij IDEA 中已确认的错误:https ://youtrack.jetbrains.com/issue/IDEA-132965

简而言之,当前的解决方法是:编辑表达式后,不要移动到另一个字段或按 Return 键;直接点击确定按钮。这将保存您的编辑。
然后,您必须重新打开“编辑变量”对话框才能进行更多编辑。

于 2016-02-22T11:30:30.313 回答