Как обновить переменную шаблона Eclipse на лету?

Я добавил следующий новый шаблон 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» текст-заполнитель, я бы хотел, чтобы он был заменен другим текстовым значением, которое у меня есть в другом классе. Как мне это сделать?


person Debajit    schedule 02.02.2009    source источник
comment
Я немного запутался — вы предоставили реализацию TestTagTemplateVariableResolver, которая расширяет TemplateVariableResolver и реализует resolve(), но она все еще не работает? Не могли бы вы опубликовать больше кода или более подробную информацию?   -  person Woody Zenfell III    schedule 19.01.2011


Ответы (1)


Эта цепочка писем от 2004 года говорит, что это может быть не так. возможно:

Редактор Java предпочитает не учитывать распознаватели, внесенные в его два типа контекста («java» и «javadoc»), а распознает только встроенные распознаватели.

HTML-редактор, с которым вы работаете, может иметь подобное ограничение.

person Stephen Denne    schedule 02.02.2009