Template variables in live templates enable user input. After a template is expanded, variables appear in the editor as input fields.
Variables within templates are declared in the following format:
Variables are defined by expressions, and can accept some default values.
This expression may contain constructs of the following basic types:
- Predefined functions with possible arguments.
- String constants in double quotes.
- The name of another variable defined in a live template.
Template variables are editable in the Edit Template Variables Dialog, which contains a complete list of available functions.
RubyMine supports two predefined live template variables: $END$ and $SELECTION$.
You cannot edit the predefined live template variables $END$ and $SELECTION$.
$END$ indicates the position of the cursor after the template is
For example, the template return $END$; will be expanded into
with the cursor positioned right before the semicolon.
$SELECTION$ is used in surround templates
and stands for the code fragment to be wrapped.
After the template is expanded, the selected text is wrapped as specified in the template.
For example, if you select EXAMPLE in your code and invoke the "$SELECTION$" template via the assigned abbreviation or by pressing Ctrl+Alt+TCtrl+Alt+TCtrl+Alt+TCtrl+Alt+TCtrl+Alt+TCtrl+Alt+TCtrl+Alt+TShift+Alt+Z or Ctrl+Alt+TAlt+Meta+TAlt Command TAlt Command TAlt Command ZAlt Command T and selecting the desired template from the list, RubyMine will wrap the selection in double quotes as follows: