Eclipse 中的 代码模板

编辑模板
要编辑一个模板,需要通过选择  Window > Preferences  打开 Eclipse Preferences。转到  Java > Editor > Templates  以查看现有的模板。要编辑一个现有的模板,单击列表中的这个模板并单击  Edit Edit Template 窗口会随即出现(参见图 1)。

图 1. 编辑模板


表 1 列出了 Edit Template 窗口中的各字段。
Name 模板的名称 Context 模板的上下文。Eclipse 将模板的选择限定于对该上下文有效的那些模板。比如,如果编辑的是 XML 文件,那么绝对不会出现 Java 语句。 Automatically insert 如果选中,Eclipse 在模板的全部名称输入完毕且调用了模板插入后(比如按  Ctrl+Space )自动插入一个模板。 Description 描述模板并会出现在下拉列表中。描述有助于识别该模板,因为模板名称并不需要惟一。 Pattern 作为模板插入的实际代码,包括需要 Eclipse 解析的全部变量。
可以编辑模板的值,并且在完成编辑后,单击  OK 。要在编辑模板的同时插入一个内置的变量,可以单击  Insert Variable
创建一个模板
要创建一个模板,单击 New。根据 “编辑一个模板” 部分中的介绍编辑值并且在完成后单击 OK。新模板现在出现在列表内。在完成后,单击 OK 以编辑文件。
利用模板内的变量
使用模板的一个最大的挑战是要知道当被插入到代码内时这些内置变量被解析成什么。这些变量可自动插入诸如当前类型名称、光标位置或所选值这样的内容。变量会使模板更为动态并会减少在模板插入后需要对模板进行的手动更改的工作量。
以清单 1 内的模板代码为例。

清单 1. 面向登录声明的模板
${imp:import(java.util.logging.Logger)} private static Logger logger = Logger.getLogger(${enclosing_type}.class.getName());
在被插入到 Automobile 类后,代码将如清单 2 所示。

清单 2. 在插入登录声明后的 Automobile 类
private static Logger logger = Logger.getLogger(Automobile.class.getName());
可以看到,类的名称已经为您解析好了。这无疑好过复制粘贴方式,因为在后一种方式中,您很可能会忘记更新类的名称。由于在声明中即便有不正确的类名,也不会抛出编译错误,因此您很可能发现不了这个错误,直到您查看日志才会奇怪为什么这些声明没有在它们该在的位置。
此 Logger 的导入声明是自动地为 Logger 添加在这个类的顶端的。
表 2 列出并描述了 Eclipse 所带的针对这些 Java 模板的内置变量。

表 2. Eclipse 针对 Java 模板的内置变量
cursor将编辑器的光标放在这个位置。N/Adate插入当前日期。Oct 20, 2009dollar插入货币的文字符号。$elemType尝试猜测具有给定 ID 的这个元素的类型。MyTypeenclosing_method插入模板被插入其中的那个方法的名称。method()enclosing_method_arguments为包围方法插入参数。arg1, arg2enclosing_package插入当前类的包名。com.example.uienclosing_project插入包含所编辑的这个类的项目的名称。myProjectenclosing_type插入正在编辑的类型(类)的名称。MyTypeexception_variable_name插入一个异常变量名称,进行最佳猜测。e, ioefile文件的简称。MyType.javaimport如果尚未导入,那么针对给定类型插入一个导入声明。import com.example.ui.MyOtherTypeimportStatic与 import 相同,只不过是静态导入。import static com.example.ui.MyOtherType.*line_selection将选中的行插入到这里。这对用模板包装行是很有用的。以选中行作为主体的 do、while 循环primary_type_name没有扩展名的文件简称。MyTypetime插入当前的时间。9:09:35 a.m.todo注释中的 TODO 标记。TODOuser当前用户的名字。ngoodvar解析为本地变量,如果不只一个,就提供一个列表。myvarword_selection插入当前选中的单词。N/Ayear将现在的年份插入到代码中。2009
变量的另一个很棒的特性就是您可以自己创建一个。它们并不会自动地解析成任何值。不过,在模板插入后,您即可以将值输入到模板内。在键入到变量中时,所键入的值就会被插入到该变量出现在代码中的所有位置。请看清单 3 中的模板。

清单 3. 创建您自己的变量
public void test${my_variable}() { String expected = "value"; ${my_object}.set${my_variable}(expected); assertEquals("${message}", expected, ${my_object}.get${my_variable}); }
在插入了模板后,它应该类似图 2。

图 2. 自动插入值


您只需要键入第一个值,其余的值会自动替换。完成后,按  Tab  移到下一个变量。
导出模板
为了与他人共享模板,可以将这些模板导出到一个文件。这个文件是一个 XML 文件,内含模板信息并可被导入到 Eclipse 的其他实例。
要导出一个模板,选中此模板并单击  Export 。Eclipse 会提示您提供保存此文件的位置。完成导出模板后,单击 OK  关闭这个Preferences 窗口。
导入模板
还可以从包含有导出模板的这个文件中导入模板。要导入一个模板,单击 Import 。Eclipse 会提示您给出要从中导入的文件。
在导入想要的模板后,单击  OK 。现在您就可将新的模板导入到编辑器中了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值