转载自: 善用Eclipse的代码模板功能

Eclipse是个非常强大的IDE,作为一个JAVA程序员,几乎每天都与它打交道,但是它强大的功能都用到了吗?

今天让我们来看一下Eclipse中的“代码模板”功能。什么是代码模板呢?举个例子,一个很常见的应用,如何在一个类中中建立一个main函数?

这还不简单?话音未落,只见你在键盘上飞快的敲击着,三下五除二便搞定了。

OK,打字很快的说。但是,是不是应该思考下,对于这种非常固定的代码,有必要一个字母一个字母的敲吗?

作为IDE,其中一个设计哲学就是能帮用户干的就帮用户干,像上面这种情况,就该是Eclipse代码模板发挥作用的时候。

我们只需在类体中键入main,然后使用Eclipse的代码提示快捷键(默认为Alt+/),回车后,就可以看到Eclipse自动帮我们完成了main函数的完整定义,是不是非常方便?

这只是个简单的例子,其实Eclipse默认还提供了很多代码模板。打开 Windows->Preferences->Java->Editor->Templates,可以看到所有已定义的代码模板列表。

再举一个更常见的例子,在代码中经常需要在控制台输出一些数据

System.out.pringln("hello, world");

以前如果你已经习惯了一个字母一个字母的敲的话,那么现在你可以尝试一下键入sysout,然后按Alt+/,呵呵,整个语句都自动完成了,而且光标还非常体贴的停在括号中,方便你继续输入,是不是很强大?

在编程中有时还会遇到另一类问题,比如我想把某些代码加到try/catch块中,进行异常检测。在代码模板的帮助下,你完全不用手工键入这部分代码,也不用去管代码缩进,你只需要选中要处理的代码块,然后按Alt+Shift+Z,回车后, Eclipse会自动为所选代码块包上try/catch语句。

尽管Eclipse默认已经为我们提供了很多有用的模板,但肯定是不够用的,因此我们需要尝试创建自己的代码模板。

我们以一个很现实的例子来说明,在实际开发中,经常会需要测试某段代码的执行时间,一般来说我们会使用以下方法。

分别记录代码执行前和执行后的时间戳,然后计算两个时间戳的差值。这段代码是非常固化的,如果每次都手工敲入,很令人崩溃,但是如果使用“代码模板”功能来做,就方便多了。

打开 Windows->Preferences->Java->Editor->Templates,点击New...,新建代码模板,如下图所示录入代码,创建一个名为“xinneng“的模板。

(注意:所有“${}”都是模板变量,如${line_selection}表示当前光标选中的代码片段,${cursor}表示代码生成结束后光标所处的位置,还有很多参数大家可以参考Eclipse提供的帮助文档。)

完成后,选中要测试的代码块,使用快捷键Alt+Shift+Z,可以看到菜单中多了一项xinneng,点击xinneng(),Eclipse自动在选中代码块的上下加上了我们刚才录入的测试代码,酷吧?

好了,通过上面简单的介绍,大家对Eclipse的“代码模板”功能应该有个大致的了解了,如果想对这一功能进行更深入的研究,可以去查阅相关的帮助文档和资料。

善用Eclipse的代码模板功能的更多相关文章

  1. eclipse自动提示功能没了的解决办法(转载)

    eclipse自动提示功能没了的解决办法 标签: eclipse联想 2012-08-09 14:32 24687人阅读 评论(7) 收藏 举报  分类: Android(38)  版权声明:本文为博 ...

  2. 定制Eclipse IDE之功能篇(二)

    上文回顾:定制Eclipse IDE之功能篇(一)   这一篇文章将记录一些Eclipse插件小功能,Smart but Useful.   一.设置工作空间 文本文件的编码   解决办法: 在org ...

  3. JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)

    1.IP简述使用//获取本地主机ip地址对象.InetAddress ip = InetAddress.getLocalHost();//获取其他主机的ip地址对象.ip = InetAddress. ...

  4. Linux Eclipse代码提示功能设置(Java & C/C++)

    最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...

  5. Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)

    http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...

  6. eclipse自定义代码模板

    eclipse自定义代码模板 Eclipse 提供了非常多的代码模板,我们可以通过 Windows->Preferences->Java->Editor->Templates ...

  7. Eclipse的调试功能的10个小窍门[转]

    原文链接:http://www.importnew.com/6164.html 你可能已经看过一些类似“关于调试的N件事”的文章了.但我想我每天大概在调试上会花掉1个小时,这是非常多的时间了.所以非常 ...

  8. VS和Eclipse的调试功能哪个更强大?

    以前一直用VS 2012来调试C/C++代码,F5.F10.F11用起来甚是顺手,前面也写过一篇关于VS最好用的快捷键:Visual Studio最好用的快捷键(你最喜欢哪个), 所以对于调试C/C+ ...

  9. Eclipse的调试功能的10个小窍门

    你可能已经看过一些类似“关于调试的N件事”的文章了.但我想我每天大概在调试上会花掉1个小时,这是非常多的时间了.所以非常值得我们来了解一些用得到的功能,可以帮我们节约很多时间.所以在这个主题上值得我再 ...

随机推荐

  1. JS实现 类似图片3D效果

    其实这样的效果 目前很多网站上都有 其实以前也写过一个 只是当时代码只是为了实现而已,代码很乱,所以现在有业余时间研究了下,其实也并没有什么特殊地方 很类似于左右控制按钮切换图片的思路.效果如下: 可 ...

  2. Python2.7-bisect

    bisect 模块,对已经排好序的序列进行筛选,添加新元素,效率高,不用在插入新元素后重新排序,可以快速找到小于指定值的位置 个人想法:与 heapq 的堆可以较好的结合使用 模块方法:bisect_ ...

  3. Android github上的好的开源项目汇总

    转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...

  4. kettle学习笔记(八)——kettle查询步骤与连接步骤

    一.概述 查询步骤: 用来查询数据源里的数据并合并到主数据流中 . 连接步骤: 结果集通过关键字进行连接 .(与前面的UNION不同) 二.查询步骤 1.流查询 流查询示例:(注意上文中的流查询的限制 ...

  5. 基于TLS证书手动部署kubernetes集群(上)

    一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统衍生 ...

  6. 网络对抗技术 2017-2018-2 20152515 Exp4 恶意代码分析

    1.实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 答:- 我会使用sysmon工具来 ...

  7. 蒙特卡罗方法 python 实现2

    如果不考虑作图,这里的两个例子可以改写成下面的样子: 求圆周率 import random ''' 蒙特卡罗模拟 投点法计算圆周率 ''' # 投点游戏 def play_game(): # 圆 r ...

  8. R实战 第九篇:数据标准化

    数据标准化处理是数据分析的一项基础工作,不同评价指标往往具有不同的量纲,数据之间的差别可能很大,不进行处理会影响到数据分析的结果.为了消除指标之间的量纲和取值范围差异对数据分析结果的影响,需要对数据进 ...

  9. SpringMVC RestTemplate的几种请求调用

    转载:https://blog.csdn.net/ThinkingLink/article/details/45366777 1.用统一的方法模板进行四种请求:POST,PUT,DELETE,GET ...

  10. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?

    文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...