前言
前两周周三分享会上听乔老板讲结对编程和TDD,说起他们以前在ThoughtWorks做结对时是一个人拿鼠标一个人拿键盘,这样有两个好处:1. 看的那个人(拿鼠标的)不容易溜号 2. 写代码的那个人(拿键盘的)很容易养成全键盘操作的习惯,可以大大提高开发效率。听后深以为然
早闻ThoughtWorks里面Pair时一些老人编码速度经常会看得新人目瞪口呆、完全跟不上节奏。咨询了下晔晔同学,他们之前都用IntelliJ IDEA,快捷键很多。遂也尝试了下IntelliJ,确实很方便,但用了一天以后还是切回了Eclipse,原因有二:1. 很多常用快捷键和Eclipse不一样,切换成本很大 2. IntelliJ里面大多数常用的快捷键在Eclipse里面也有。最后决定先自己尝试尝试Eclipse全键盘编码,看看能用得多快,如果不行再切换成IntelliJ。
尝试了几天Eclipse全键盘编码之后,略有些心得,分享于此,希望对大家有帮助。
一个例子
先看一个简单的例子
public class Demo {
String name;
public Demo(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Demo [name=" + name + "]";
}
public static void main(String[] args) {
for (String arg : args) {
Demo demo = new Demo(arg);
System.out.println(demo);
}
}
}
写一段这样的代码你需要敲多少下键盘以及鼠标点击?可以打开Eclipse之后跟着我来做一遍,我们全程不使用鼠标:
(有些Eclipse中自动提示键默认是Ctrl+Space,和中文输入法是冲突的,所以请先修改为Alt+/ 再进行以下例子,以后的全篇也都将以Alt+/ 来代指自动提示)
创建一个类
Alt+Shift+N,C,输入Demo,回车
创建类属性
按3次下方向键,回车,输入String name;,回车
创建构造器
Alt+Shift+S,O,回车
创建getter/setter
Alt+Shift+S,R,空格,回车
创建toString方法
Alt+Shift+S,S,回车
创建main函数
输入main,Alt+/,回车
创建foreach循环
输入fore,按2次Alt+/,回车,Tab键,输入arg
实例化Demo类
输入new,空格,Alt+/,输入arg
将实例赋值给临时变量
Ctrl+2,L,回车,回车切换到下一行
打印Demo值
输入syso,Alt+/,输入demo
运行
Ctrl+S保存,Alt+Shift+X,J
整个过程没有使用过一下鼠标,而大多数代码也都由Eclipse帮我们生成,这样无疑节约了大量的编码时间以及在键盘和鼠标间切换的时间。这个例子非常简单,仅仅只是我们的全键盘编码中一个最基础的场景,实际开发过程中我们还面临很多其他的操作,如阅读代码时的文件跳转、查找,修改代码时的光标定位、选择等操作,如果你有兴趣了解这些快捷键让自己成为一个编码快枪手,那么可以接着看我的系列文章。^_^
一方面我会尽量使用循序渐进的方式来展现这些快捷键,以免大家对着扑面而来的一大堆快捷键无所适从。另一方面快捷键最关键的是灵活使用而非死记硬背,仅仅只是将快捷键背下来而找不到使用场景也是没有意义的,在最后篇分享中我会使用一些场景来帮助大家理解快捷键的应用。
目录
这篇攻略暂时准备分四个部分来介绍,每个部分中都会涉及一些使用场景以作为使用提示:
1. 入门:少量最基本的快捷键介绍,掌握之后可以减少鼠标点击菜单的次数,但无法脱离鼠标编码
2. 天下无鼠:主要介绍一些用于替换鼠标操作的快捷键,掌握之后配合入门快捷键可以基本达到无鼠标编码
3. 辟邪剑谱:介绍一些更为高级的快捷键,掌握之后可以大大加快编码速度
4. kui花宝典:快捷键使用连招、常用插件快捷键、模板、代码样式、相关开发工具快捷键(如浏览器)等,掌握之后可以在整个开发过程中都无需鼠标