转载自: 善用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. divide_3

    xiao方法 #include<stdio.h> #include<vector> #include<iostream> using namespace std; ...

  2. 前后端交互之封装Ajax+SpringMVC源码分析

    为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...

  3. PAT B1003 我要通过!

    “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: 1 ...

  4. Leetcode——121. 买卖股票的最佳时机

    题目描述:买卖股票的最佳时机 题目要求求解能获得最大利润的方式? 可以定一个二维数组 d [ len ] [ 2 ] ,其中d[ i ][ 0 ] 表示前i天可以获得的最大利润:d[ i ][ 1 ] ...

  5. Android Fragment(三)ListFragment简单介绍以及Fragment之间通信

    一.Fragment通信简单介绍:Fragments之间是不能够直接通信的,他们之间的通信是通过Activity这个中间件来通信的, 为了让Fragment跟它的Activity通信,我们可以在Fra ...

  6. kubernetes 生命周期问题分析

    1.Failed  -- pod里至少一个容器以非0code退出,说明应用有问题,需要debug应用容器 2.pending -- 说明API对象已经被创建和保存在etcd数据库里,但是创建过程出了问 ...

  7. 第18章 SysTick—系统定时器

    第18章     SysTick—系统定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  8. 编译最新的SQLite 3.8.4.3为一个DLL

    SQLite是一个小型数据库.特别适合于client应用程序使用,它的众多优点就不多说了.有兴趣的去搜索. 话说使用吧. 我们要使用.就须要调用它.如今一步一步来. 第一步:上SQLite官网http ...

  9. 20155308《网络对抗》Exp9 Web安全基础实践

    20155308<网络对抗>Exp9 Web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 SQL注入攻击原理,如何防御? 原理:攻 ...

  10. 使用HibernateDaoSupport抽取BaseDao

            在开发采用Struts2+Spring+hibernate这三大框架的项目时,我们需要一个抽取一个BaseDao.这个Dao里面CRUD都给封装好,后续的其他Dao直接用它的功能就可以 ...