Handlebars and Mustache
This feature is only supported in the Professional edition.
PyCharm recognizes and provides support for Handlebars expressions and Mustache templates in dedicated Handlebars and Mustache files that have the extension .hbs
or .mustache
respectively. PyCharm distinguishes these file types and processes their contents according to default or custom settings specified on the Templates page of the Settings/Preferences dialog.
Before you start, install and activate the Handlebars/Mustache repository plugin. The plugin is not bundled with PyCharm, but it can be installed from the JetBrains plugin repository as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.
Configuring coding assistance for Handlebars expressions and Mustache templates
- Open the Templates page ( for Windows and Linux or for macOS). Switch to the Handlebars/Mustache area.
- Enable or disable tag completion.
- To have PyCharm automatically insert the second closing curly brace (
}
) of a Handlebars expression as soon as you type the first closing one, select the Automatically insert closing tag checkbox.PyCharm also recognizes triple stashes (
{{{
) that prevent escaping values inside expressions. In this case, PyCharm automatically inserts two closing curly braces as soon as you type the first closing one. - When this check box is cleared, you have to type the closing curly braces and triple stashes manually.
- To have PyCharm automatically insert the second closing curly brace (
- To have Handlebars expressions and Mustache templates automatically reformatted during code generation, refactoring, or reformatting (Ctrl+Alt+L), select the Enable formatting checkbox.
If the checkbox is cleared, the original formatting of Handlebars expressions and Mustache templates is preserved.
- From the Language for comments drop-down list, select the language to inherit the style for comments from. When you enter a line or block comment by pressing Ctrl+/ or Ctrl+Shift+/, PyCharm inserts the comment delimiters that are used in the chosen language, for example,
{{!----}}
for Handlebars,/**/
for JavaScript,<!---->
for HTML, etc.