Я добавил следующий новый шаблон Eclipse через точку расширения. Он просто добавляет шаблон для примера тега testTag.
<!-- Add code template -->
<extension point="org.eclipse.ui.editors.templates">
<template autoinsert="true"
contextTypeId="html_tag"
description="[Description] Template populated by Snippet values ***"
id="org.eclipse.jst.jsf.ui.newHtmltag"
name="testTag">
<pattern>
<![CDATA[
<testTag style="background: ${color}"></testTag>
]]>
</pattern>
</template>
<resolver
contextTypeId="html_tag"
type="src"
class="TestTagTemplateVariableResolver">
</resolver>
</extension>
Чего я не могу понять, так это того, как изменить значение переменной $(color) во время выполнения. В частности, когда пользователь нажимает Ctrl + Пробел (или эквивалент для помощи по содержимому), вводит «testTag» и нажимает Enter — вместо «color» текст-заполнитель, я бы хотел, чтобы он был заменен другим текстовым значением, которое у меня есть в другом классе. Как мне это сделать?
TestTagTemplateVariableResolver, которая расширяетTemplateVariableResolverи реализуетresolve(), но она все еще не работает? Не могли бы вы опубликовать больше кода или более подробную информацию? - person Woody Zenfell III   schedule 19.01.2011