In Intellij IDEA 15.0.3 (build #IU-143.1821) I'm trying to create a live template which will let me input a JavaScript function name (in camelCase), and create a constant (IN_UPPER_CASE).
For example, when I'm typing the template abbreviation, and then sendUserNameAndPassword
, the template should expand to
export const SEND_USERNAME_AND_PASSWORD = 'SEND_USERNAME_AND_PASSWORD';
export function sendUserNameAndPassword() {
}
I have created this template:
export const $CONSTANT_NAME$ = '$CONSTANT_NAME$';
export function $FUNCTION_NAME$() {
$END$
}
and within the Edit variables dialog, I have the following variables:
Name | Expression | Default value | Skip if defined
FUNCTION_NAME | | |
CONSTANT_NAME | capitalizeAndUnderscore(String) | | x
Clearly, I would like to have the Expression to be capitalizeAndUnderscore(FUNCTION_NAME)
and not capitalizeAndUnderscore(String)
, but when I replace String
with anything else, the expression is reset to capitalizeAndUnderscore(String)
as soon as I move to another field in the dialog.
What am I missing here?
This seems to be a confirmed bug in Intellij IDEA: https://youtrack.jetbrains.com/issue/IDEA-132965
The current workaround is, in short:
After editing an expression, do not move to another field or press Return, instead; click directly on the OK button. This will save your edit.
You will then have to reopen the Edit variables dialog to do more edits.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With