RubyMine 2016.1 Help

File and Code Templates

File templates are specifications of the contents to be generated when creating a new file. They let you create the source files that already contain some initial code.

You can view, edit and create the templates on the File and Code Templates page of the Settings dialog (File | Settings | File and Code Templates for Windows or Unix and RubyMine | Preferences | File and Code Templates for OS X) .

Overview

File and code templates are written in the Velocity Template Language (VTL). So they may include:

  • Fixed text (markup, code, comments, etc.). In a file based on a template, the fixed text is used literally, as-is.
  • File template variables. When creating a file, the variables are replaced with their values.
  • #parse directives to include other templates defined in the Includes tab on the File and Code Templates page of the Settings dialog box.
  • Other VTL constructs.

Here is a typical template example. (This template is used for creating a JavaScript file.)

/** * Created by ${USER} on ${DATE} */

In this template, ${USER} and ${DATE} are template variables.

Applying this template leads to generating a file whose contents look similar to this:

/** * Created by John.Smith on 6/7/11 */

Predefined, internal, and custom templates

RubyMine comes with a set of predefined file and code templates. You can use these templates as-is or modify them as necessary. You can as well create your own templates (custom templates).

Internal file and code templates are a subset of the predefined templates. These templates differ from all the other templates in that they cannot be deleted.

On the File and Code Templates page of the Settings dialog, the names of internal templates are shown in bold. The names of the custom templates and the predefined templates that you have modified are shown in blue.

When are file and code templates used?

Whenever you create a new file, you can choose to create an empty file (e.g. File | New | File) or use a file template. In the latter case, the initial contents of the new file will be generated according to the template you have selected. (Basically, all the options in the New menu except File and Directory correspond to using a template.)

ruby_menu_new

See Also

Last modified: 21 July 2016