Шаблоны редактора

org.eclipse.ui.editors.templates

3.0

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

<!ELEMENT extension (template* , resolver* , contextType* , include*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT contextType EMPTY>

<!ATTLIST contextType

id    CDATA #REQUIRED

class CDATA #REQUIRED

name  CDATA #IMPLIED>

Тип контекста определяет контекст, в котором вычисляются шаблоны. Для вычисления шаблона тип контекста использует свои собственные обработчики.



<!ELEMENT resolver EMPTY>

<!ATTLIST resolver

contextTypeId CDATA #REQUIRED

type          CDATA #REQUIRED

class         CDATA #REQUIRED

description   CDATA #IMPLIED

name          CDATA #IMPLIED

icon          CDATA #IMPLIED>

Обработчик переменной шаблона обрабатывает эту переменную в определенном контексте.



<!ELEMENT template (pattern)>

<!ATTLIST template

id            CDATA #REQUIRED

contextTypeId CDATA #REQUIRED

name          CDATA #REQUIRED

description   CDATA #IMPLIED

icon          CDATA #IMPLIED

autoinsert    (true | false) "true">

Шаблон - это фрагмент кода или текста, вычисляющийся в заданном контексте. Переменные, которые будут обрабатываться в этом контексте, можно задать с помощью записи ${variable_type}.



<!ELEMENT pattern (#PCDATA)>

Образец шаблона.



<!ELEMENT include EMPTY>

<!ATTLIST include

file         CDATA #REQUIRED

translations CDATA #IMPLIED>

С помощью этого элемента можно включать набор шаблонов в формате XML как одно целое.



   

<extension point=

"org.eclipse.ui.editors.templates"

>

<template name=

"%ant.tasks.javac.name"

contextTypeId=

"org.eclipse.ui.examples.templateeditor.antcontext"

id=

"org.eclipse.ui.examples.templateeditor.templates.javac"

description=

"%ant.tasks.javac.description"

>

<pattern>

<javac srcdir=

"${src}"

destdir=

"${dst}"

classpath=

"${classpath}"

debug=

"${debug}"

/>

</pattern>

</template>

<resolver contextTypeId=

"org.eclipse.ui.examples.templateeditor.antcontext"

type=

"src"

class=

"org.eclipse.ui.examples.templateeditor.editors.AntVariableResolver"

>

</resolver>

<resolver contextTypeId=

"org.eclipse.ui.examples.templateeditor.antcontext"

type=

"dst"

class=

"org.eclipse.ui.examples.templateeditor.editors.AntVariableResolver"

>

</resolver>

</extension>

Соответствующий API входит в пакет org.eclipse.jface.text.templates модуля org.eclipse.text.

Соответствующие классы можно найти в пакете org.eclipse.jface.text.templates модуля org.eclipse.text.