玩转Eclipse — 自动代码生成的Java Code Template
文章转载地址:点击打开链接
当代码写到一定程度之后,就会发现很多代码都被重复地敲了N多遍,甚至毫不夸张地说:闭着眼睛都能敲出来。大量地敲这些重复地代码,除了锻炼敲键盘的速度,基本上没有其他益处,但是长期下来会浪费很多时间,降低了软件开发的效率。例如:为了在程序执行过程中输出logger信息,需要在每个class中都添加这么一段代码:
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class XXXClass {
- /**
- * Logging mechanism.
- */
- private static Logger logger = LoggerFactory.getLogger(XXXClass.class);
- }
这段代码在不同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的更多相关文章
- 玩转Eclipse — 自动代码规范检查工具Checkstyle
大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...
- [置顶] 玩转Eclipse — 自动注释插件JAutodoc
代码注释是一种良好的编程习惯.不管对于他人还是自己,注释都有助于代码的阅读和理解.手动添加注释,是一个非常费时和繁琐的工作,严重影响软件开发效率,这也是绝大多数程序员不愿添加注释的主要原因.JAuto ...
- Java Code Template
设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素 ...
- 关于eclipse的编码注释等Code Template设置
啥也不说直接放东西: 首先进入eclipse的preferences里的java 点击Insert variable可以自己设置需要的 1. 设置Files:点击edit, /** * <p&g ...
- Eclipse Code Template 设置自动加注释(转)
Eclipse Code Template 设置自动加注释 设置注释模板的入口: Window->Preference->Java->Code Style->Code Temp ...
- eclipse android 不会自动生成R.java文件和包的解决办法
eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动 ...
- eclipse不能自动编译XX.java为XX.classs
问题描述:eclipse不能自动编译XX.java为XX.classs 原因:今天下午写代码,因为需要引入jstl包,引入后发现原来项目中已经引入了,然后我又把包删除了,忘记删除java build ...
- java环境变量及Eclipse自动编译问题
环境变量,是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路 ...
- Eclipse启动时报错Java was started but returned exit code=13
Eclipse启动时报错Java was started but returned exit code=13 如图所示 原因是通过第三方更新JRE时,第三方安装的是32位的JRE,与64位的eclip ...
随机推荐
- /dev/null和/dev/zero的区别
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!/dev/zero,是一个输入设备,你可你用它来初始化文件. /dev/null------它是空设备,也称为位桶(bi ...
- Java编程的逻辑 (3) - 基本运算
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- oracle的sql语句大小写
我相信大家都知道,oracle数据库是区分大小写的,而且oracle的默认为大写的,也就是说你在sql脚本上面写的sql语句,oracle运行的时候,它会自动转化为大写的.注意一下,我这里举例子的计算 ...
- WebApi 文档Swagger
NET WebApi 文档Swagger中度优化 本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 写在前面 在后台接口开发中,接口文 ...
- js单元测试框架
js单元测试框架 前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容. 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试 ...
- 002.SSH日常命令
一 远程登陆 ssh 用户名@远程主机ip:首次登陆需要下载对方公钥. 实例:ssh 192.168.10.129 二 远程复制 scp root@远程主机ip:[远程主机文件绝对路径] [需要保存的 ...
- javascript编写带阴历的黄历
最近在做一个黄历的快应用(quickapp),需要涉及到公历转阴历,效果如下: 快应用(https://www.quickapp.cn/): 快应用是基于手机硬件平台的新型应用形态:标准是由主流手机厂 ...
- android 调试Installation failed with message INSTALL_FAILED_USER_RESTRICTED: Install canceled by user.
真机调试 遇到的问题 在使用真机调试的程序的时候出现了这个问题. 解决方法如下
- InvokeRepeating重复定时器
JS // Starting in 2 seconds.// a projectile will be launched every 0.3 secondsvar projectile : Rigid ...
- Django的URL别名
项目的urls.py配置文件 from message.views import getform urlpatterns = [ url(r'^admin/', admin.s ...