我正在Eclipse-> prefrences-> templates中编写django模板,以自动完成DJango模板.我写了这个
{% block ${cursor} %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
现在,当我请求并执行自动完成时,键入{%自动完成后就是
{% {% block %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
虽然我想
{% block %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
用光标挡块.我怎样才能做到这一点?
我遇到的一个特殊问题是在Eclipse PDT模板中使用$ {word_selection}.
我最近尝试使用Eclipse PDT 2.1的一些代码模板来加速一些常见任务.我们使用了很多getter/setter,所以我写了下面的模板.
function get${word_selection}() {
return $$this->getData('${word_selection}');
}
function set${word_selection}($$${word_selection}) {
$$this->setData('${word_selection}', $$${word_selection});
}
Run Code Online (Sandbox Code Playgroud)
我将模板命名为"getset",我知道使用代码辅助的唯一方法是键入:"getset"然后点击我的代码辅助键(我将它设置为Esc,但我认为默认为Ctrl + Space).问题是,这实际上并没有让我选择$ {word_selection}使用的单词.
如何输入我的模板名称,点击组合键,并同时选择一个单词?
我还想知道人们设置了哪些模板以及使用模板加速编程的任何其他技巧.
有人知道如何使用 Eclipse 模板在类签名上方插入“@RunWith 注释”吗?
前任。:
@RunWith(Parameterized.class)
public class MyClassTest {
...
@Parameters
public static Collection<Object[]> parameters() {
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] { "mind!", "find!" });
list.add(new Object[] { "misunderstood", "understood" });
return list;
}
...
}
Run Code Online (Sandbox Code Playgroud)
__
模板:
// TODO: move this '@RunWith(Parameterized.class)' to class anotation
@Parameters
public static Collection<Object[]> parameters() {
${type:elemType(collection)}<Object[]> parametersList = new ${type:elemType(collection)}<Object[]>();
${cursor}// TODO: populate collection
return parametersList;
}
Run Code Online (Sandbox Code Playgroud)
__ 谢谢您的帮助!
对于MVC模型类,我的setter看起来像:
enum BoundProperty {FIELD_NAME, ...}
private Type fieldName;
public setFieldName(Type newValue) {
Type oldValue = fieldName;
fieldName = newValue;
firePropertyChange(BoundProperty.FIELD_NAME, oldValue, newValue);
}
Run Code Online (Sandbox Code Playgroud)
给定一个字段,这个输出可以从自动生成的setter生成吗?如果没有,是否有办法从模板中获取此输出?
输出应该CamelCase字段名称以生成方法名称,因此fieldName生成setFieldName()和大写字段名称以生成属性enum.
所以fieldName生成FIELD_NAME(或者FIELDNAME也会起作用).
有没有人知道是否有办法根据异常自动生成catch块中的不同代码?
Eclipse函数'Surround with try/catch'生成一个try/catch块,它只包含转储堆栈跟踪.
我在代码中做了很多类似的事情,所以我的大多数异常都可以归结为大概三种不同的类型.我想为每个人提供不同的catch块代码,并根据异常设置eclipse自动格式.
例如:如果我的代码生成RemoteConnectionException,我想向用户显示一个对话框以重新连接.如果它生成一个RemoteContentException我想记录它.
(我做了这些.)
提前致谢
更新:我一直在寻找并有两个潜在的解决方案.
1)我发现了一些叫做快速代码插件的东西,它可能正在寻找我正在寻找的东西. http://fast-code.sourceforge.net/index.htm
2)为了专门处理异常,我可能只是编写一个通用异常处理程序并修改catch块代码以将异常传递给它而不是打印堆栈跟踪.然后java代码将根据异常类型确定要采取的操作.