技术分享 ECLIPSE 查看内容

Eclipse全键盘编码攻略

老高 | 发布于 2015-03-10 22:28| 浏览()| 评论() | 收藏() | 点赞() | 打印

摘要: Alt+/ 平时我们输入类实例后按"."就会有个自动补全的提示,其实可以在任何地方按这个快捷键都可以弹出类似的提示,变量名补全、成员变量选择、自动取名等等……

三、辟邪剑谱

Source系列,用于生成代码

以下所有快捷键基本都以按Alt+Shift+S起头,之后在配合一个按键来触发。有一些Source相关的快捷键已经在前面几篇介绍过了

Alt+Shift+S, R

这个几乎是在传统J2EE开发中用的最多的键了。用于为当前类的成员变量生成Getter/Setter,进入后焦点停留在属性选择框中,可以按上下键选择属性,空格键勾选,左右键展开,按回车确认(等同于点击OK按钮)。如果希望全部生成,可以按Alt+A,如果仅生成所有属性的Setter(例如开发Struts2的Action)则按Alt+L,如果仅生成Getter则按Alt+G。如果按过以上三个快捷键后,焦点会停留在按钮上,此时按回车键会无效(变成了触发按钮点击事件),此时按几次Shift+Tab让焦点回到属性勾选框中,再按回车即可。

Alt+Shift+S, V

用于复写父类方法,自动生成复写父类的空方法。选择框操作方法同上。

Alt+Shift+S, S 和 Alt+Shift+S, H

分别用于根据成员变量生成toString()方法和hashCode()/equals()方法。其中toString方法是以"classname[prop1=value1, prop2=value2, ...]"格式输出当前类,而hashCode和equals则是按照Effiective Java中所描述的方式生成的,具体大家可以自己生成一个看看就明白了(不过生成的hashCode/equals方法的代码中单行if后木有大括号,因此有代码洁癖的同学,比如我,可能得手工再改改,呵呵)

Alt+Shift+S, O 和 Alt+Shift+S, C

前者用于根据成员变量生成构造器。也是出场率非常高的一个快捷键。不过如果在使用类似Hibernate等ORM的项目中可能会用的相对较少。后者根据父类构造器的状况来生成一个构造器。相对用的较少一点

Alt+Shift+S, M

非常有意思的一个快捷键,用于生成成员变量的代理方法。在希望使用包装器模式或是代理模式时特别有用(不用自己去写一堆重复的代码了)

Alt+Shift+S, U

清理代码!可以帮你优化很多当前类的代码内容(当然不是逻辑上的),比如神马去掉不必要的cast啦,神马补上@Override啦,去掉没用的import啦,之流之流。你还可以自己创建一个profile来决定哪些需要哪些不需要。当然,如果平时写代码比较精益求精的话,这个东东是派不上用场的啦

 

Refactor系列,用于重构代码相关

记得第一次知道Eclipse的重构功能是4年前,当时有一天看公司的总经理晚上没事儿破解一个混淆过的J2ME小游戏,才知道Eclipse有个重构功能,呵呵。

言归正传,以下是一些可能常用的重构快捷键,Refactor里面还有很多其他的东西,但个人觉得除了以下几个之外平时都会用得很少,(有一些可能是有更好的之前介绍过的替代方案,例如Alt+Shift+L生成本地变量就不如Ctrl+1来得方便):

Alt+Shift+R 和 Ctrl+2, R

两个都是改名键,不同的是,前者会将整个项目中所有用到的地方都给改了,而后者仅仅只会变更文件内部的所有引用。例如,有一个public String getName()方法,在getName上按Alt+Shift+R,输入getUsername回车,那么整个workspace里所有引用了这个getName方法的地方全部会变成getUsername,是不是灰常方便?哈哈。那Ctrl+2, R又有啥用呢?相比Alt+Shift+R最主要的好处就是速度快,因为不用扫描整个workspace,一般在修改一些local变量或是新的类中的名称时(还木有外部引用)来使用。所以如果你对自己的机器速度足够有信心,可以总是使用Alt+Shift+R。

Alt+Shift+M

抽取一个方法,是重构时常用的一个快捷键。使用方法是,先选中一段代码,然后按Alt+Shift+M,这个时候会弹出一个对话框,问你是否需要将这段代码抽取为一个方法,其中所有的入口参数出口参数都会自动帮你计算好。如果确认OK则自动生成好代码。不过说实话觉得这个功能不太实用,因为我老是会纠结于入口参数顺序等问题,最后还得自己改,呵呵

Alt+Shift+T, E 和 Alt+Shift+T, T

前者生成一个接口并使得当前类实现它,接口中会同时生成当前类中指定的方法声明,当前类Override它们。后者则是生成一个父类并使得当前类继承它,同时可以将指定当前类的方法提升到父类中去。

Alt+Shift+T, U 和 Alt+Shift+T, D

前者将一个方法抽取到父类中,后者将一个方法放到子类中。

 

其他

Ctrl+2, L

灰常有用的一个快捷键!用于生成变量的声明。大致使用方式是这样的,例如我们希望创建一个List,那么我们只需要输入 new ArrayList() ,然后按Ctrl+2, L ,系统会自动生成左边的 ArrayList arrayList = ,并且此时光标为选中arrayList变量名状态,此时可以直接输入变量名,然后按tab键切换到声明类型,会列出可能的声明类型(实现类的父类们),按下选中List回车,最终结果就成了 List mylist = new ArrayList(); 。要用好这个快捷键需要我们改掉一个之前的习惯,就是之前总是先写声明,而现在需要先写实现,忘记声明这回事儿,个中细节,还需自己体会,呵呵

Alt+Shift+Z

生成可以包装用的一些代码,使用方法是先选中一堆代码,然后按Alt+Shift+Z,可以看到有神马try/catch啊,do啊,if啊之类的。使用之后会把之前选择的那些代码包到各自的块里去(例如try/cache之间的block)

Alt+Shift+J

生成当前类、方法的javadoc

 

模板

除了以上之外,还有个灰常有用的代码生成武器,那就是模板了。先做个实验:在任意一个方法里,先输入syso,然后按Alt+/,看看发生了神马?然后换一行,重新输入if,然后按Alt+/,选择第一个按回车,看看发生了神马?这就是模板,它可以为我们节省大量的重复劳动,以加快编码速度,熟练的掌握模板可以大大提升平时的编码速度

这里有一点要注意的是,模板和普通提示一样,都会一起显示在Alt+/之后的下拉列表中,因此有时候模板很可能不在第一个,可能前面全是一些类或变量名提示。例如输入f然后按Alt+/第一个是finalize而非for,那么如何快速选中模板呢?答案是再多按一次Alt+/就行了,按两次Alt+/下拉列表会切换到完全只有模板的模式下。

从哪里获知有些什么可选模板呢?在Eclipse顶部菜单中选择 Window - Show View - Templates 可以将模板的View显示在Eclipse主界面上。而配置的地方则在 Window - Preferences - Java - Editor - Templates。

如果懒得自己看的话,我这里列举几个我常用的:try, if, for, fore(foreach), new, sysout, main, Test(JUnit4+), true(javadoc), false(javadoc), null(javadoc)。

上一篇: 将eclipse工作区背景调成豆沙绿
下一篇: 没有了

发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)

表情