2

我通过扩展点添加了以下新的 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+ Space(或内容辅助的等效项)并输入“testTag”并按下 Enter 时——而不是“颜色”占位符文本,我希望它被我拥有的其他文本值替换在另一个班级。我该怎么做呢?

4

1 回答 1

1

这个 2004 年的电子邮件链说这可能是不可能的:

Java 编辑器选择不尊重为其两种上下文类型(“java”和“javadoc”)贡献的解析器,而只识别内置解析器。

您正在使用的 html 编辑器可能有类似的限制。

于 2009-02-02T23:56:48.637 回答