- 2012-09-10 增加和网友交流发现的很实用的快捷键, 和补充一些快捷键
这篇主要是默认设置下的常用的快捷键, 类似vim这类编辑器, 形成一个标准可以带来一些好处, 诸如方便交流, 不需要备份恢复太多自定义配置.
主要挑哪些很实用, 比较容易按到的.
自动完成
基本上有语法分析的编辑环境都会有自动完成, 经常的目的是提示类的方法等, Eclipse中自动完成是按Alt + /, 重复按可以在几个不同类目切换, 具体可以自己试试.
Alt + Shift + / 是用于参数提示, 和Alt + /效果差不多, 甚至有时能相互通用, 不过这个参数提示比较简单, 只有类型和参数名, 详细的还得在看方法提示时右边出现的说明.
Ctrl + Enter 这个不是单独使用, 而是在按了Alt + /之后使用, 用于修改一个方法调用, 因为按Enter将是插入代码. 具体见下图
在类一级, 即方法外面按Alt + /会提示可重写的方法.
在不同场景下的 Ctrl+1
Ctrl + 1是快速修正, 不同场合会有十分不同的功能, 我觉得它是Eclipse中使用频率仅次于Alt+/的快捷键.
创建变量方法和类
直接写变量赋值而不写变量类型时, 按Ctrl + 1
快速修正的列表中
Create local variable ‘a’
创建方法内变量, 上面已经有截图.
Create field ‘a’
创建类变量.
Create parameter ‘a’
创建方法参数.
Remove assignment
删除.
直接写方法调用foo("bar")
, 而不实现方法时, 按Ctrl + 1, 会有Create method ‘methodName(paramType)’, Enter后会在合适的位置创建指定的方法空实现, 并且参数都已经写好, 按Tab键可以切换到返回类型和参数类型上调整, 最后Enter两次完成.
类也可以用相似的方式创建, 先写new Foo("Name")
, 然后Ctrl + 1, 选Create class ‘Foo’. 如果是在方法调用中这么写foo(new Bar())
, 并且foo
方法的参数有具体的类型限制, 那么创建的类会继承参数指定的类型或实现参数的接口类型.
如果现有类里面有, Ctrl + 1会出现Import ‘Xxx’ (xxx.xx), 用于引入现有类.
添加接口方法的默认实现
在类声明上写了implements IFoo
后, 按Ctrl + 1会有
Add unimplemented methods
添加未实现的接口方法.
Make type ‘Xxx’ abstract
修改当前类为抽象.
还有抽象类的抽象方法也有类似的提示, 具体可以自行尝试, 套路基本和上面的一样.
结合上段, 使用匿名内部类时, 输入new InterfaceClass(){}
之后按Ctrl + 1, 也有Add unimplemented methods, 这在写UI程序时添加事件回调很有用.
移除默认生成的TODO
所有默认生成的方法都会有// TODO Auto-generated method stub
这段, 可以在那一行按Ctrl + 1 -> Remove task tag
不过直接按删除行更直接点, Ctrl + D
对没有错误的代码按Ctrl + 1
这一般是在打算调整代码时用, 十分通用的比如重命名, 可以按Alt + Shift + R更直接点.
在变量声明或赋值上按Ctrl + 1, 下面是一些比较有用的.
Convert local variable to field
把本地变量转换为类变量.
Split variable declaration
和下一项相反, 把变量声明和赋值分离, 在操作外部资源, 用
try finally
时很有用.Join variable declaration
将变量赋值和声明合并为一行.
Extract to local variable
把变量扩展为本地变量, 一般是优化时使用, 访问本地变量比类变量快.
在类变量上按Ctrl + 1有Create getter and setter for ‘xxx’用于创建类变量的get
和set
方法, 如果是boolean
类型会把get
变成is
.
不过常见的情况是用菜单栏Source -> Generate Getters and Setters, 可以一次性把选择的类变量生成get
set
方法.
快速打开文件
在多数情况下, 项目中名称重复的文件并不多, 特别是在做jsp开发的时候, 可以使用Ctrl + Shift + R, 输入文件名称就能很快的打开相关的文件.
这段来自和网友的交流.
快速在当前文件内的方法间跳转
上篇介绍的Breadcrumb需要鼠标点才能完成上述目的, 也可以用Ctrl + O打开临时的Outline试图, 可以输入文本过滤, 或者用方向键选择, 最后按Enter转向到指定的方法.
这个在全屏编辑的时候很有用.
Eclipse的使用方法就是经常Ctrl + 1
上面是我遇到的常用的地方, 还有很多地方都可以按Ctrl + 1, 可以自行尝试.
在最近编辑的地方跳转
Ctrl + Q
在修改代码的时候很有用, 快速跳到刚刚修改的地方, 而不撤销代码的修改.
Alt + 方向左/方向右
这个也是在最近的相关文件的行中跳转, 但是我也不是很理解具体的规则, 只是偶尔用用看.
查看JavaAPI Doc
默认鼠标移上去就能看到, 但是需要悬停一会, 如果不想碰鼠标, 可以将光标移动到相关的类或者方法上按F2, 和鼠标悬停弹出的完全一样.
最大化编辑区域
Ctrl + M, 看个人喜好, 我一般是临时用用, Eclipse可以把编辑窗口拖出来分离成左右或上下的, 最大化时仍旧保持左右或上下, 适合对比分析代码, 比如一个客户端, 一个服务端的代码.
关闭文件
Ctrl + W 和几乎所有主流浏览器的关闭窗口快捷键一样, 大量的编辑器也是这个键, 经常用的话就会很自然了.
查找快捷键
上面提到的常用快捷键肯定有遗漏, 如果想自己找相关快捷键可以这样操作.
菜单栏 Window -> Preferences, 在左侧顶部输入Keys
, 一般就一个, 可以看到如下界面
一般Scheme保持Default不变, 在type filter text输入自己想知道的快捷键锁功能相关的单词, 然后在下面出现的快捷键上找, 并尝试.
基本通用的编辑快捷键
这些不限于在Eclipse中使用, 很多地方也可以用这些快捷键, 彻底不了解的可以看, 其他人可无视.
Ctrl + 方向左/方向右
光标向左/右移动一个单词, 中文没有单词可能不适用, 不过在代码中很常用.
Shift + 方向左/方向右
向左/右选择一个字符, 可以重复按选择多个.
Shift + 方向上/方向下
从当前光标位置向上/下选一行, 可以配合左/右, 重复按来调整选择区域.
Ctrl + Shift + 方向左/方向右
向左/右选择一个单词, 可以配合上面提到的细节调整选择区域.
Ctrl + 方向上/方向下
滚动条上下滚动, 光标不移动, 一般是一次滚动一行.
Home End
移动到行首/行末, 配合Shift可以变成选择到行首/行末. 有些编辑器能自动检测行首缩进.
Page Down Page Up
上翻页, 下翻页, 配合Shift可以选择上一页/下一页的内容.
Ctrl + X/C/V
Windows平台最常用的, 剪贴, 复制, 粘贴.
Tab
单独按就是缩进, 根据编辑器的设置, 可能被替换为空格. 配合选中多行, Tab可以调整多行的缩进. 配合Shift可以反缩进, 即减少缩进, 文本向左移动. 这个不是十分通用, 不过多数编程环境都是这样的.