我通过扩展点添加了以下新的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键而不是“颜色”占位符文本,我希望它替换为我在另一个类中的其他文本值。我该怎么做?
答案 0 :(得分:1)
This email chain from 2004说可能不可能:
Java编辑器选择不尊重对其两种上下文类型('java'和'javadoc')有贡献的解析器,但只识别内置的解析器。
您正在使用的html编辑器可能有类似的限制。