Переменные шаблона

Переменные шаблона могут использоваться в образце шаблона. Переменные заменяются на свои конкретные значения при преобразовании шаблона в контексте. Переменные могут быть заданы с помощью простого или полного синтаксиса:

Если существует несколько возможных совпадений для переменной, они могут быть предложены пользователю в виде вариантов.

Общие переменные шаблона

В контексте 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

В контексте Java дополнительно определены следующие переменные. Примечание: В таблице ниже id обозначает имя новой переменной, выбранное пользователем.

Переменная Описание
${id:field(type)} Вычисляет поле в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любое поле типа, отличного от простого.

Пример:
${count:field(int)}

${id:var(type)} Вычисляет поле, локальную переменную или параметр в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любая переменная типа, отличного от простого.

Пример:
${array:var(java.lang.Object[])}

${id:localVar(type)} Вычисляет локальную переменную или параметр в текущей области, являющейся производной от данного типа. Если тип не указан, то совпадает любая локальная переменная типа, отличного от простого.

${array} является ярлыком для ${array:localVar(java.lang.Object[])}, но также совпадает с массивами простых типов.
${collection} является ярлыком для ${collection:localVar(java.util.Collection)}.
${iterable} является ярлыком для ${iterable:localVar(java.lang.Iterable)}, но также совпадает с массивами.

${id:argType(variable, n)} Вычисляет n-ый аргумент типа указанной переменной шаблона. Ссылка должна быть именем другой переменной шаблона. Вычисляется как java.lang.Object, если указанная переменная не найдена или не имеет параметризованный тип.

Пример:
${type:argType(vector, 0)} ${first:name(type)} = ${vector:var(java.util.Vector)}.get(0)

${id:elemType(variable)} Вычисляет тип элемента указанной переменной шаблона. Ссылка - это имя другой переменной шаблона, указывающей на массив или экземпляр java.lang.Iterable. Тип переменной elemType похож на ${id:argType(reference,0)}, с той разницей, что он также вычисляет тип элемента массива.

${array_type} является ярлыком для ${array_type:elemType(array)}.
${iterable_type} является ярлыком для ${iterable_type:elemType(iterable)}.

${id:newName(reference)} Вычисляет неконфликтующее имя для новой локальной переменной указанного по ссылке типа. Ссылка может быть именем типа Java или именем другой переменной шаблона. Сгенерированное имя согласуется с параметрами стиля кода.

${index} является ярлыком для ${index:newName(int)}.
${iterator} является ярлыком для ${iterator:newName(java.util.Iterator)}.
${array_element} является ярлыком для ${array_element:newName(array)}.
${iterable_element} является ярлыком для ${iterable_element:newName(iterable)}.

${array} Преобразуется в вариант массива, видимого в текущей области.
${array_element} Преобразуется в имя новой локальной переменной для элемента совпадения с переменной ${array}.
${array_type} Вычисляет тип элемента совпадения с переменной ${array}.
${collection} Преобразуется в вариант коллекции, видимой в текущей области.
${index} Преобразуется в вариант индекса необъявленного массива.
${iterator} Вычисляет неиспользованное имя для новой локальной переменной типа java.util.Iterator.
${iterable} Преобразуется в вариант объекта iterable или массива, видимых в текущей области.
${iterable_element} Преобразуется в имя новой локальной переменной для элемента совпадения с переменной ${iterable}.
${iterable_type} Вычисляет тип элемента совпадения с переменной ${iterable}.
${todo} Преобразуется в вариант выбранного тега задачи.

Связанные концепции

Шаблоны

Связанные ссылки

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