我想创建一个插件来定义一个新的代码模板(like this blog post)。如何将参数传递到模板中?像${name:param}一样
发布于 2012-08-30 02:06:16
这个解决方案是针对Eclipse4.2Juno的,我还没有在任何其他环境中测试过。
您所要做的就是传递参数,然后您就可以使用它们了。
假设我们想要创建一个TemplateVariableResolver,它将大写传递的参数的第一个字母。
首先,您将按如下方式填充plugin.xml:
<extension point="org.eclipse.ui.editors.templates">
<resolver class="org.eclipse.ui.templates.UppercaseResolver"
contextTypeId="java"
description="${Uppercase(word[, word...])} uppercase's the provided words"
name="Uppercase words" type="Uppercase"/>
</extension>您还将创建自定义解析器:
public void resolve(TemplateVariable variable, TemplateContext context) {
if (variable.getVariableType().getParams().size() > 0) {
StringBuffer result = new StringBuffer();
for(String value : (List<String>) variable.getVariableType().getParams()) {
value = value.substring(0,1).toUpperCase() + value.substring(1);
result.append(value);
}
variable.setValue(result.toString());
}
}最后,在你的代码模板中:
String name = ${Uppercase(jim,laughlin)};https://stackoverflow.com/questions/1577505
复制相似问题