因此,当我创建一个新的java类时,我一直在尝试创建一个很好的java模板。目前我所有的新课程看起来都是一样的,所以我一直在努力建立一个模板,以便我不必在20多次内输入同样的东西。
我已经弄清楚如何包含所需的导入和评论,但我无法弄清楚如何扩展或扔东西。例如,如果我想说:
public class test throws Exception{
}
我似乎无法弄清楚如何做到这一点。
我认为它可能在某处附近
${typecomment}
${type_declaration}
但是如果我尝试在类型选择之前添加它,它就在类名之前(如果我介于两者之间),如果我在type_declaration之后输入它,它就会在最后一个之后进入文件末尾大括号
甚至可以做我正在尝试的事情吗?
这与我现在的模板非常相似:
${filecomment}
${package_declaration}
import java.util.*;
/**
*
*@author
*@version 28 May 2015
**/
${type_declaration}
当我创建一个名为test的新类时,它会创建一个类似于:
的文件package unfinished;
import java.util.*
/**
* @author
* @version 28 May 2015
**/
public class test {
}
这是一个很好的开始,但我希望它留下来
public class test extends bicycle{
}
答案 0 :(得分:1)
编辑:鉴于您提供的其他信息:
对于"新Java文件"代码样式模板,您可以(或者不应该)指定它扩展的内容,因为您在New Class
对话框中指定了它。
为类添加throws
声明也没有意义。如果要向默认构造函数添加throws
声明,那将是有意义的。如果要从模板添加默认构造函数,可以编辑"类主体"代码样式模板,但我建议改为编写内容辅助模板,因为代码样式模板始终应用于每个文件,而内容辅助模板仅在您专门选择它们时使用。
要添加内容辅助模板,请转到首选项:Java:编辑器:模板,然后单击"新建..."。将Context设置为" Java",然后输入您的构造函数。
要使用新模板,请在Java文件中键入其名称,然后单击ctrl-space
以激活内容辅助,然后从列表中选择您的模板。 (如果您点击ctrl-space
时只有一个选项,内容辅助功能会自动选择热门选项。
(旧答案,在错误的假设下运行我们讨论的是内容辅助模板而不是代码样式模板:)
如果您一直在扩展/实施/投掷相同的内容,只需在模板中对其进行硬编码。
但是,如果您想要在自动完成模式下进行制表并指定要扩展的类等,则可以使用任意名称。
例如,我必须制作一堆BD方法,所以我把这个模板放在一起:
public ${Type:return_type} ${name}(${}) throws Exception {
Connection conn = Database.getConnection();
${BaseDAO:elemType} dao = new ${BaseDAO}(conn);
try {
return dao.${name}();
} catch (Exception e) {
throw e;
} finally {
Database.closeConnection(conn);
}
}
${name}
只是一个任意标记,它与"插入变量"中的任何内容都不对应。每次${name}
出现在我的模板中时,无论用户输入的是什么,都会出现在所有实例中。我可以轻松地放置${foo}
或${anyArbitraryThingIWant}
并获得相同的结果。我认为这是回答你问题的最简单方法。
以下几点并非真正回答您的问题,只是解释了我的例子中的一些项目。
${Type:return_type}
让我设置方法的返回类型。由于我将它命名为" Type",默认的返回类型将是Type
类,在我的程序中是一个具有名称,id和描述的对象。
${}
是一个空的可标记条目。不幸的是,我无法使用它将方法的参数传递给dao.${name}(...)
的调用,因为它会逐字复制到每个匹配的实例,并且声明方法参数不匹配引用他们。即如果我输入" String str"进入${}
,它会把" String str"我在那里调用相应的dao方法,这不是正确的语法。