面向对象编程有一个特点就是类家族庞大,对于编程人员而言,要记住成百上千的类名字以及成千上万的类方法的名字,着实不是一件容易的事情。这个时候,IDE的代码自动补全功能就帮了我们大忙。
用过VS编程的人一定会惊叹于VS代码自动补全功能的强大,它可以使你在敲出几个字符的情况下迅速地完成代码。相比之下,eclipse的代码自动补全功能就要弱很多了。默认情况下,eclipse只有在你打出'.'(点字符)的时候(而且要暂停一小会儿),才会弹出自动补全窗口给你选择。这在大部分时候是完全不够用的。你一定会疑问,像eclipse这么活跃的IDE,不会弱智到这种地步吧?难道只有我打出'.'的时候他才会去自动补全?这样多不方便啊。
其实eclipse也有全字符自动补全功能,只不过需要自己手动设置。方法如下:
Windows——Preferences——Java——Editor——Content Assist
在右边最下面的Auto Activation框里,就是关于java代码自动补全的设置。如下图:
图中的复选框是代码自动补全的开关,勾上就可以了。第一个输入框是自动补全延迟,也就是你打出'.'后过多长时间弹出自动补全窗口,单位是毫秒,默认是200ms。第二个输入框是自动补全触发器,也就是你当你打出什么字符的时候触发自动补全;默认是'.',从这里就可以看出eclipse“弱智”的自动补全功能的原因了;第三个输入框是javadoc的触发器,功能跟第二个一样。
所以解决方法很简单,将延迟时间设置为更小的数字(我设置的是1),然后将java自动补全触发器设置成全部字符外加'.':.abcdefghijklmnopqrstuvwxyz(既然是自动补全,是不区分大小写的)。这样就设置完成了。
对于eclipse代码自动补全功能,个人觉得,还有一点需要完善的地方。由于自己比较懒,记性也不好,一般不会花太多精力去记住那么多的名字。但是由于eclipse自动补全功能限制,又必须要求我记住每个名字的开始几个字母,否则自动补全功能也无法发挥作用。比如ArrayList类有一个ensureCapacity()方法,但是如果我忘记了前几个字符,只记得方法名里面有capacity这个单词,这个时候我打capacity并不会弹出自动补全窗口,因为capacity并不是在方法名的开始,所以eclipse它不认了。这一点在实际编程中给我带来了一些小麻烦,但是VS是可以做到这一点的。个人的一点小抱怨,如果你能记住每个方法的名字,当然再好不过了。