As variáveis de modelo podem ser usadas no padrão de modelo. As variáveis são processadas no valor concreto quando o modelo é avaliado no respectivo contexto. As variáveis podem ser especificadas usando uma sintaxe simples ou completa:
${array}
Define uma variável com o nome 'array' que irá processar para uma matriz. Pode ser referenciada várias vezes tal como está.
${it:var(java.util.Iterator)}
Define uma variável com o nome 'it' que irá processar uma variável local do tipo java.util.Iterator. Pode ser referenciada várias vezes facultando apenas o nome sem o tipo: ${it}.
Se existirem várias correspondências possíveis para uma variável, podem ser apresentadas como propostas para o utilizador.
O contexto Java e de Javadoc definem as seguintes variáveis:
| Variável | Descrição |
|---|---|
| ${cursor} | Especifica a posição do cursor quando é abandonado o modo de edição do modelo. Isto é útil quando o cursor deveria saltar para outro local que não seja o final do modelo ao abandonar o modo de edição do modelo. |
| ${date} | Avalia a data actual. |
| ${dollar} | Avalia o símbolo do dólar '$'. Em alternativa, podem ser utilizados dois símbolos do dólar: '$$'. |
| ${enclosing_method} | Avalia o nome do nome delimitador. |
| ${enclosing_method_arguments} | Avalia uma lista separada por vírgulas de nomes de argumentos do método delimitador. Esta variável pode ser útil quando gerar instruções de registo para muitos métodos. |
| ${enclosing_package} | Avalia o nome do pacote delimitador. |
| ${enclosing_project} | Avalia o nome do projecto delimitador. |
| ${enclosing_type} | Avalia o nome do tipo delimitador. |
| ${file} | Avalia o nome do ficheiro. |
| ${line_selection} | Avalia o conteúdo de todas as linhas seleccionadas actualmente. |
| ${primary_type_name} | Avalia o tipo principal de nome da unidade de compilação actual. |
| ${return_type} | Avalia o tipo de retorno do método delimitador. |
| ${time} | Avalia a hora actual. |
| ${user} | Avalia o nome de utilizador. |
| ${word_selection} | Avalia o conteúdo da selecção de texto actual. |
| ${year} | Avalia o ano actual. |
O contexto Java define adicionalmente as seguintes variáveis. Nota: Na tabela abaixo, o id é um nome escolhido pelo utilizador de uma nova variável.
| Variável | Descrição |
|---|---|
| ${id:field(type)} | Avalia um campo no âmbito actual que é um subtipo do tipo indicado. Caso não seja especificado qualquer tipo, é feita a correspondência a qualquer campo que não seja primitivo.
Exemplo: |
| ${id:var(type)} | Avalia um campo, variável local ou parâmetro visível no âmbito actual que é um subtipo do tipo indicado. Caso não seja especificado qualquer tipo, é feita a correspondência a qualquer variável que não seja primitiva.
Exemplo: |
| ${id:localVar(type)} | Avalia uma variável local ou parâmetro visível no âmbito actual que é um subtipo do tipo indicado. Se não for especificado qualquer tipo, é feita a correspondência a qualquer variável local que não seja primitiva.
${array} é um atalho para ${array:localVar(java.lang.Object[])}, mas também corresponde a matrizes de tipos primitivos. |
| ${id:argType(variable, n)} |
Avalia o argumento de tipo nth da variável de modelo referenciada. A referência deverá ser o nome de outra variável de modelo. Processa para java.lang.Object se não for possível encontrar a variável referenciada ou se não for um tipo parametrizado.
Exemplo: |
| ${id:elemType(variable)} | Avalia o tipo de elemento da variável de modelo referenciada.
A referência deve ser o nome de outra variável de modelo que processa para uma matriz ou para uma instância de java.lang.Iterable.
O tipo de variável elemType é semelhante a ${id:argType(reference,0)}, diferenciando-se por também processar o tipo de elemento de uma matriz.
${array_type} é um atalho para${array_type:elemType(array)}. |
| ${id:newName(reference)} | Avalia um nome que não entre em conflito para uma nova variável local do tipo especificado pela referência. A referência pode ser um tipo de nome Java ou o nome de outra variável de modelo. O nome criado respeita as definições de estilo de código.
${index} é um atalho para${index:newName(int)}. |
| ${array} | Avalia uma proposta de matriz visível no âmbito actual. |
| ${array_element} | Avalia um nome de uma nova variável local de um elemento da correspondência da variável ${array}. |
| ${array_type} | Avalia o tipo de elemento da correspondência da variável ${array}. |
| ${collection} | Avalia uma proposta de uma recolha visível no âmbito actual. |
| ${index} | Avalia uma proposta para um índice de matriz não declarada. |
| ${iterator} | Avalia um nome que não é usado para uma nova variável local do tipo java.util.Iterator. |
| ${iterable} | Avalia uma proposta de um iterável ou de uma matriz visível no âmbito actual. |
| ${iterable_element} | Avalia um nome de uma nova variável local de um elemento da correspondência da variável ${iterable}. |
| ${iterable_type} | Avalia o tipo de elemento da correspondência da variável ${iterable}. |
| ${todo} | Avalia uma proposta de um identificador de tarefas predefinido especificado actualmente. |


Editar Modelos
Preferências de modelos
Assistência de Conteúdo Java
Preferências do identificador de tarefas
Preferências dos modelos de código
Preferências de estilo de código