玩转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 ...
随机推荐
- Python 协程检测Kubernetes服务端口
一.需求分析 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/10237551.html 已经得到了需要的数据,现在需要对这些端口做检测,判断 ...
- ruby on rails在fedora18上install
ruby on rails 在fedora18下的安装 天朝的网络原因,安装不是很顺畅,所以把过程记录下备用 前面下载rubygem什么的都比较快,新建一个project的时候会出问题 gem new ...
- C#控制台程序输出彩色文字
/* * 由SharpDevelop创建. * 用户: 从前的我 * 日期: 2012-06-03 * 时间: 21:30 * * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件 */ u ...
- 如何写django中form的测试用例
可简可繁, 可插库,可字符, 要测试valid,也要测试invalid, 可用csrf,也可用context. 放一个全面的, 实践中,找一个最优的组合就好. class NewTopicTests( ...
- #ASP.NET 自制免费.NET代码生成器KevinCodeBuilder
简单的.NET三层架构会有很多重复的代码,如果手敲会比较浪费时间.前段时间在互联网找了下.NET的代码生成器,发现要么太复杂甚至生成的代码会报错,要么要收费而且效果不是自己想要的. 所以,干脆自己做一 ...
- ngResource和REST介绍
ngResource和REST介绍 一.RESTful介绍 RESTful维基百科 REST(表征性状态传输,Representational State Transfer)是Roy Fielding ...
- 【LOJ】#2111. 「JLOI2015」战争调度
题解 记录一个数组dp[i][S][k]表示第i个点,它上面所有的点的状态(参军或者后勤)可以用状态S来表示,一共有k个平民参军的最大收益,当然数组开不下,可以用vector动态开 我们对于每个平民枚 ...
- 如何快速切换Python运行版本,如何选择Python版本
想必在学习Python时会面临选择Python2.X或者是Python3.X的问题. 我在电脑上不同位置下载安装了不同版本 的Python,当我在学习时,不管是需要哪一个版本才能运行都无所谓,相应的快 ...
- java 常用面试题
基础问题和思想:1.抽象类和接口的区别(单纯的语法区别只能给一半分,要说出来适用场景):2.hashcode()和equals()的关系:3.HashMap(Set)底层机制(用到的数据结构以及代码原 ...
- html (第四本书第四章参考)
上机1 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8 ...