Editorskabelon

org.eclipse.ui.editors.templates

3.0

Skabeloner er stykker af tekst eller kode, som kan hjælpe brugeren med at indtaste gentagne mønstre i en teksteditor. Skabeloner kan indeholde variabler, der fortolkes i den kontekst, hvor skabelonen indsættes.

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

<!ATTLIST-udvidelse

point CDATA #REQUIRED

id    CDATA #IMPLIED

navn  CDATA #IMPLIED>


<!ELEMENT contextType EMPTY>

<!ATTLIST contextType

id    CDATA #REQUIRED

klasse CDATA #REQUIRED

navn  CDATA #IMPLIED>

En konteksttype definerer en kontekst, som skabeloner evalueres i. En konteksttype bruger sine resolvere til at fortolke en skabelon.



<!ELEMENT resolver EMPTY>

<!ATTLIST resolver

contextTypeId CDATA #REQUIRED

type          CDATA #REQUIRED

class         CDATA #REQUIRED

description   CDATA #IMPLIED

name          CDATA #IMPLIED

icon          CDATA #IMPLIED>

En resolver til en skabelonvariabel kan fortolke en skabelonvariabel i en bestemt kontekst.



<!ELEMENT template (pattern)>

<!ATTLIST template

id            CDATA #REQUIRED

contextTypeId CDATA #REQUIRED

name          CDATA #REQUIRED

description   CDATA #IMPLIED

icon          CDATA #IMPLIED

autoinsert    (true | false) "true">

En skabelon er et stykke kode eller tekst, der evalueres i en bestemt kontekst. Variabler, som bliver fortolket i denne kontekst, kan specificeres vha. notationen ${variable_type}.



<!ELEMENT pattern (#PCDATA)>

Skabelonens mønster.



<!ELEMENT include EMPTY>

<!ATTLIST include

file         CDATA #REQUIRED

translations CDATA #IMPLIED>

En samling skabeloner, kodet som XML, kan inkluderes via dette element.



   

<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>

I pakken org.eclipse.jface.text.templates i plugin'en org.eclipse.text kan du finde det relevante API.

I pakken org.eclipse.jface.text.templates i plugin'en org.eclipse.text kan du finde de relevante klasser.