文章转载地址:点击打开链接

当代码写到一定程度之后,就会发现很多代码都被重复地敲了N多遍,甚至毫不夸张地说:闭着眼睛都能敲出来。大量地敲这些重复地代码,除了锻炼敲键盘的速度,基本上没有其他益处,但是长期下来会浪费很多时间,降低了软件开发的效率。例如:为了在程序执行过程中输出logger信息,需要在每个class中都添加这么一段代码:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. public class XXXClass {
  4. /**
  5. * Logging mechanism.
  6. */
  7. private static Logger logger = LoggerFactory.getLogger(XXXClass.class);
  8. }

这段代码在不同class文件中唯一不同的就是class的名称:XXXClass。一般的人可能会一个字母一个字母地敲一遍;懒一点的人会Ctrl + C和Ctrl + V,然后把XXXClass改一下;聪明人通过几个字母加上一个快捷键就可以搞定。本文就以上面的logger为例,介绍聪明人使用Java Code Template实现的一种更方便快捷的方式。

1. Template设置

Eclipse工具栏上选择Window -> Preferences -> Java -> Editor -> Templates,进入如下界面:

列表中是Eclipse自带的Code Template,最后一栏是“on”的表示有效,没有的表示无效。如果要使自带的Code Template生效,可以选择需要的Code Template,点击“Edit...”,在打开的Edit Template对话框中,选择“Automatically insert”复选框,点击“OK”保存设置就行了。使用这些有效的自带Code Template的方法,与后面演示的logger的使用方法一样。

点击“New...”可以创建一个新的模板,Template的详细设置如下:

在需要声明logger的地方,输入模板名称logger,然后按Ctrl + Space快捷键,显示模板logger的提示框如下图所示:

选择需要添加的模板logger,则模板中的代码会被自动添加,包括import的packages,注释以及logger声明。

2. Ctrl + Space失效

在有些情况下,按了Ctrl + Space快捷键之后,没有反应,也不显示提示框。可能存在两种情况:

  • Case 1:没有设置Content Assist快捷键

Eclipse工具栏上选择Window -> Preferences -> General -> Keys,进入如下快捷键设置界面:

在编辑框中输入“content assist”,就会自动搜索到“Content Assist”命令,选择它之后,在下面的“Binding”编辑框中输入“Ctrl+Space”,或者直接按Ctrl + Space快捷键,然后点击“OK”。

  • Case 2:Ctrl + Space快捷键冲突

如果Ctrl + Space已经设置为Content Assist快捷键,但是还是没有效果,可能的原因是Eclipse的Ctrl + Space快捷键与Windows系统中输入法切换的快捷键冲突。将输入法切换的快捷键修改成其他,如下图所示:

3. Ctrl + Space提示框中没有模板

如果按了Ctrl + Space之后,提示框中却没有显示模板logger,如下图所示:

这是因为内容提示(Content Assist)中没有选择模板提示(Template Proposals)。Eclipse工具栏上选择Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced,可以进行如下设置:

选择两个方框中“Template Proposals”前面的复选框。如果下面方框中的“Template Proposals”不是第一个,可以选择它,然后点击“Up”按钮直到它处于第一的位置,这样每次提示框中第一个就是需要的Code Template。

玩转Eclipse — 自动代码生成的Java Code Template的更多相关文章

  1. 玩转Eclipse — 自动代码规范检查工具Checkstyle

    大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...

  2. [置顶] 玩转Eclipse — 自动注释插件JAutodoc

    代码注释是一种良好的编程习惯.不管对于他人还是自己,注释都有助于代码的阅读和理解.手动添加注释,是一个非常费时和繁琐的工作,严重影响软件开发效率,这也是绝大多数程序员不愿添加注释的主要原因.JAuto ...

  3. Java Code Template

    设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素 ...

  4. 关于eclipse的编码注释等Code Template设置

    啥也不说直接放东西: 首先进入eclipse的preferences里的java 点击Insert variable可以自己设置需要的 1. 设置Files:点击edit, /** * <p&g ...

  5. Eclipse Code Template 设置自动加注释(转)

    Eclipse Code Template 设置自动加注释 设置注释模板的入口: Window->Preference->Java->Code Style->Code Temp ...

  6. eclipse android 不会自动生成R.java文件和包的解决办法

    eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法   我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动 ...

  7. eclipse不能自动编译XX.java为XX.classs

    问题描述:eclipse不能自动编译XX.java为XX.classs 原因:今天下午写代码,因为需要引入jstl包,引入后发现原来项目中已经引入了,然后我又把包删除了,忘记删除java build ...

  8. java环境变量及Eclipse自动编译问题

    环境变量,是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路 ...

  9. Eclipse启动时报错Java was started but returned exit code=13

    Eclipse启动时报错Java was started but returned exit code=13 如图所示 原因是通过第三方更新JRE时,第三方安装的是32位的JRE,与64位的eclip ...

随机推荐

  1. Connect to DB2 database in eclipse via jdbc

    https://stackoverflow.com/questions/23801841/connect-to-db2-database-in-eclipse-via-jdbc

  2. Net Web Api Route

    Asp.Net Web Api Route   在目前的主流架构中,我们越来越多的看到web Api的存在,小巧,灵活,基于Http协议,使它在越来越多的微服务项目或者移动项目充当很好的service ...

  3. mysql 账号授权

    一.移除权限 revoke all privileges on py_bond_2_1.* from pycf@"%"; flush privileges; 二.添加用户并授权 g ...

  4. 【noip模拟赛1】古韵之鹊桥相会(最短路)

    描述 迢迢牵牛星,皎皎河汉女. 纤纤擢素手,札札弄机杼: 终日不成章,泣涕零如雨. 河汉清且浅,相去复几许? 盈盈一水间,脉脉不得语. ——<古诗十九首> 传说,上古时期的某个七月七日,王 ...

  5. ubantu下如何完全彻底卸载mysql(转)

    ubantu下如何完全彻底卸载mysql  https://blog.csdn.net/wszll_Alex/article/details/46277681 第1步  依次执行下面的语句 1 sud ...

  6. AngularJS + ui-router + RequireJS异步加载注册controller/directive/filter/service

    一般情况下我们会将项目所用到的controller/directive/filter/sercive预先加载完再初始化AngularJS模块,但是当项目比较复杂的情况下,应该是打开对应的界面才加载对应 ...

  7. AngularJS之jeDate日期控件基本使用

    业务背景: 初学AngularJs,最近一段时间,因业务需求,要求日期选择带有快捷键.时分秒等.鉴于AngularJS组件库ui-bootstrap没有此功能,找了一款基于原生JS实现的插件-jeDa ...

  8. 使用 Maven 来管理项目 & 从 0 开始搭建 Maven 项目

    maven 是 apache 的一个开源软件,纯 Java 编写的,专门用于管理 Java 项目的一个工具. maven 就是一个工具而已,用不用都不耽误你刷刷的敲代码,那为什么我们还要学习它呢? 那 ...

  9. BeanUtils工具

    什么是BeanUtils工具 BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品. BeanUtils工具一般可以方便javaBean的哪些操作? 1)b ...

  10. Codeforces.959E.Mahmoud and Ehab and the xor-MST(思路)

    题目链接 \(Description\) 有一张\(n\)个点的完全图,从\(0\)到\(n-1\)标号,每两点\(i,j\)间的边权为\(i\oplus j\).求其最小生成树边权之和. \(Sol ...