# Editor Templates

Templates are a structured description of coding patterns that reoccur in source code. The Java editor supports the use of templates to fill in commonly used source patterns. Templates are inserted using content assist (Ctrl+Space).

For example, a common coding pattern is to iterate over the elements of an array using a for loop that indexes into the array. By using a template for this pattern, you can avoid typing in the complete code for the loop. Invoking content assist after typing the word `for` will present you with a list of possible templates for a for loop. You can choose the appropriate template by name (`iterate over array`). Selecting this template will insert the code into the editor and position your cursor so that you can edit the details.

Templates can contain template variables. Variables mark the editable locations. They can be resolves to a concrete value when the template is evaluated in its context. They can also provide a list of alternative proposals valid at the given location.

Many common templates are already defined. These can be viewed with the Java > Editor > Templates preference page. You can also create your own templates or edit the existing ones.

Templates preferences
Template variables
Template editing
Edit menu
Java content assist