Переменные шаблона могут использоваться в образце шаблона. Переменные заменяются на свои конкретные значения при преобразовании шаблона в контексте. Переменные могут быть заданы с помощью простого или полного синтаксиса:
${array}
Так определяется переменная с именем 'array', которая будет заменена на массив. На нее можно неоднокрано делать ссылку, используя ее в том виде, в котором она есть.
${it:var(java.util.Iterator)}
Так определяется переменная с именем 'it', которая будет заменена на локальную переменную типа java.util.Iterator. На нее можно ссылаться неоднократно, просто указав ее имя без типа: ${it}.
Если существует несколько возможных совпадений для переменной, они могут быть предложены пользователю в виде вариантов.
В контексте Java и документации по Java определены следующие переменные:
| Переменная | Описание |
|---|---|
| ${cursor} | Задает позицию курсора при выходе из режима редактирования шаблона. Это полезно в случае, когда курсор нужно переместить в другое место, отличное от конца шаблона, при выходе из режима редактирования шаблона. |
| ${date} | Преобразуется в текущую дату. |
| ${dollar} | Преобразуется в символ доллара '$'. Можно использовать и два знака доллара: '$$'. |
| ${enclosing_method} | Преобразуется в имя окружающего метода. |
| ${enclosing_method_arguments} | Преобразуется в перечисленные через запятую имена аргументов окружающего метода. Эта переменная полезна при создании операторов занесения в протокол для большого числа методов. |
| ${enclosing_package} | Преобразуется в имя окружающего пакета. |
| ${enclosing_project} | Преобразуется в имя окружающего проекта. |
| ${enclosing_type} | Преобразуется в имя окружающего типа. |
| ${file} | Преобразуется в имя файла. |
| ${line_selection} | Преобразуется в содержимое выбранных строк. |
| ${primary_type_name} | Преобразуется в имя простого типа текущей единицы компиляции. |
| ${return_type} | Преобразуется в тип возврата окружающего метода. |
| ${time} | Преобразуется в текущее время. |
| ${user} | Преобразуется в имя пользователя. |
| ${word_selection} | Преобразуется в содержимое выбранного фрагмента текста. |
| ${year} | Преобразуется в текущий год. |
В контексте Java дополнительно определены следующие переменные. Примечание: В таблице ниже id обозначает имя новой переменной, выбранное пользователем.
| Переменная | Описание |
|---|---|
| ${id:field(type)} | Вычисляет поле в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любое поле типа, отличного от простого. Пример: |
| ${id:var(type)} | Вычисляет поле, локальную переменную или параметр в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любая переменная типа, отличного от простого. Пример: |
| ${id:localVar(type)} | Вычисляет локальную переменную или параметр в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любая локальная переменная типа, отличного от простого.
${array} является ярлыком для ${array:localVar(java.lang.Object[])}, но также совпадает с массивами простых типов. |
| ${id:argType(variable, n)} |
Вычисляет n-ый аргумент типа указанной переменной шаблона. Ссылка должна быть именем другой переменной шаблона. Вычисляется как java.lang.Object, если указанная переменная не найдена или не имеет параметризованный тип.
Пример: |
| ${id:elemType(variable)} | Вычисляет тип элемента указанной переменной шаблона.
Ссылка - это имя другой переменной шаблона,
указывающей на массив или экземпляр java.lang.Iterable.
Тип переменной elemType похож на ${id:argType(reference,0)}, с той разницей,
что он также вычисляет тип элемента массива.
${array_type} является ярлыком для ${array_type:elemType(array)}. |
| ${id:newName(reference)} | Вычисляет неконфликтующее имя для новой локальной переменной
указанного по ссылке типа. Ссылка может быть именем типа Java или именем другой переменной шаблона. Сгенерированное имя согласуется с параметрами стиля кода.
${index} является ярлыком для ${index:newName(int)}. |
| ${array} | Преобразуется в вариант массива, видимого в текущей области. |
| ${array_element} | Преобразуется в имя новой локальной переменной для элемента совпадения с переменной ${array}. |
| ${array_type} | Вычисляет тип элемента совпадения с переменной ${array}. |
| ${collection} | Преобразуется в вариант коллекции, видимой в текущей области. |
| ${index} | Преобразуется в вариант индекса необъявленного массива. |
| ${iterator} | Вычисляет неиспользованное имя для новой локальной переменной типа java.util.Iterator. |
| ${iterable} | Преобразуется в вариант объекта iterable или массива, видимых в текущей области. |
| ${iterable_element} | Преобразуется в имя новой локальной переменной для элемента совпадения с переменной ${iterable}. |
| ${iterable_type} | Вычисляет тип элемента совпадения с переменной ${iterable}. |
| ${todo} | Преобразуется в вариант выбранного тега задачи. |


Редактирование шаблонов
Параметры
шаблонов
Помощника
по работе с содержимым Java
Параметры тегов задач
Параметры шаблонов исходного кода
Параметры стиля исходного кода