一、Eclipse常用快捷键
1. Source菜单可以用快捷键 Alt+S 调出,实际上就是菜单快捷键,Source的功能还是挺常用的;
2. Alt+/,代码补全,很常用的快捷键,比如输入“main”,然后用Alt+/就直接给出完整的main方法,输入syso然后用Alt+/就直接给出System.out.pringln()等等。
3. Ctrl+1,快速修复快捷键,当代码出现黄色或红色下划线(也就是存在警告或错误)时,光标在相应的代码上,使用快捷键会弹出修复选项;当然也有部分代码补全功能,比如new String("asdf");代码处使用Ctrl+1,选择Assign Statement to new local variable/Assign Statement to new Field就可以添加本地变量/域变量的声明,其他有返回值的方法调用同样适用(也可以用Ctrl+2,停顿一下然后选择L或F来达到同样的效果)。
4. Ctrl+2,停顿一下后会出现小菜单,包括F-Assign to Field,L-Assign to Local,M-Extract to Method,R-Rename,不过这些功能都可以通过其他快捷键实现,小停顿可能对某些急性子有点忍不了。
5. Ctrl+F11,运行。
6. Ctrl+Shift+O,整理imports,会自动根据代码内容添加所需的或删除不用的import语句。
7. 注释快捷键:①Ctrl+/,添加或删除选中行的“//”注释;②Ctrl+Shift+/添加选中内容的“/*...*/”注释,Ctrl+Shift+\删除“/*...*/”注释。
8. F3或按Ctrl点击鼠标左键,调到声明或定义的地方。
9. F4显示类或接口继承或实现情况,可以选择只查看其父类或子类。或者在选中某个类的情况下,按Ctrl+T,临时查看继承关系。
10.Ctrl+Shift+R,查找资源文件;Ctrl+Shift+T查找类或接口。
11.Alt+左右箭头,分别向前或向后浏览查看记录,尤其是在F3或按Ctrl点击鼠标左键一层层下钻的时候可以Alt+左箭头向前查找刚才经过的位置;Alt+上下箭头,编辑用,可以将所选中行上移或下移。
12.Ctrl+Q,跳转到上次修改位置。
13.Ctrl+D,删除行。
14.Ctrl+O,显示某个类的概要(Outline)。
15.F2,显示类或方法信息。
16.Ctrl+F,当前文件搜索;Ctrl+H,高级搜索。
17.Alt+Shift+R,修改变量或方法名。
18.Shift+Enter,在光标所在行下新增一行,类似于vim的o,也挺常用。
19.Ctrl+M,最大化当前窗口。
20.Ctrl+L,跳到某行。
更多内容请见附录,还有一些公共的快捷键比如(Ctrl+C复制/Ctrl+V粘贴/Ctrl+Z回退/F2命名/F5刷新等等)就不特别提了。
二、Eclipse常用设置
1. 编码设置
假设将Eclipse整体编码设置为UTF-8则需要设置windows->Preferences...general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
eclipse 中使用模板新建 JSP,xhtml等文件时,默认的编码为:ISO-8859-1。 ISO-8859-1 编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK 或者 GB2312 或者 UTF-8(推荐) 等。设置方法window -> preferences -> 在type filter text中输入jsp -> 选择下面的jsp Files-> 选择creating files组中的encoding 为UTF-8编码,其他类似。
2. 取消单词拼写检查
菜单 window -> General -> Editors -> Text Editors -> Spelling -> 把右边的Enable spell checking的勾去掉就行了,也就是取消单词的拼写检查,属于Eclipse优化设置,可选。
3. 去除不需要加载的模块
通过Windows -> Preferences -> General -> Startup and Shutdown,这个时候在右侧就显示出了Eclipse启动时加载的模块,可以根据自己的实际情况去除一些模块,以加快Eclipse加载速度,属于Eclipse优化设置,可选。
通常可关掉没用的启动项:
WTP webservice UI plug-in,Equinox Provisioning platform Automatic Update Support等。
4. 取消在启动时自动验证项目配置文件
默认情况下Eclipse在启动的时候会自动验证每个项目的配置文件,这是一个非常耗时的过程,可以在Preferences窗口依次选择Validation,然后在右侧的Validator列表中只保留 Manual 项就可以了。如果需要验证的时候只需要选中文件,然后右键选择 MyEclipse - Run Validation就可以了。build下只留 classpath dependency Validator。
手工验证方法:在要验证的文件上,单击鼠标右键–>myeclipse–>run validation。
5. 调整Eclipse内存大小
如果经常碰到Eclipse运行时报内存不足的错误(比如Heap或PermGen不足),可修改Eclipse安装目录的eclipse.ini文件,加大JVM的非堆内存:
打开eclipse配置文件eclipse.ini,更改-Xmx(其数值代表jvm可以使用的最大内存数):
-Xms256m
-Xmx1024m
6. 修改Eclipse编辑JSP,html等页面时的编辑工具
由于Eclipse默认使用Web Editor打开页面文件,所见即所得,比较卡,真正开发时其实一般只看代码,就可以修改默认编辑器:
Window -> perferences -> General -> Editors -> File Associations
在File types 中选择 .jsp/.htm/.html > 在Associated editors 中将自己要用的设置为默认,其他文件类似。
7. 设置字体
默认的编辑器里,中文字体显示特别小,需要改一下字体。在window->perferences->General->Appearance->Colors and Fonts,右侧双击Basic下的Text Font 修改,这里推荐Consolas和微软雅黑混合字体,对代码和中文字体显示起来都很漂亮,这是我必改的配置。
点击下载:YaHei+Consolas混合字体
8. 显示java 类型,是接口还是抽象类还是枚举等
勾选General->Appearance->Lable Desirations的Java Type Indicator。
9. 修改自动提示功能
修改Eclipse的代码自动提示功能 Windows->Preferences->Java->Editor->Content Assist
Auto Activation Delay 默认值为200(单位是毫秒)也就是说在打“.”之后停留200毫秒才能出现智能感知的提示。那么将它修改为20之后提示速度明显上升;
Auto Activation triggers for java 默认为“.”,可以改成“.abcdefghijklmnopqrstuvwxyz(,”,也就是在输入这些字符后都进行代码补全提示,看个人喜好慎用。
三、Eclipse常用功能
1. 菜单Source下有很多快速生成代码的功能比如
① 生成get、set方法 Source->Generate Getters and Setters
② 生成构造方法 Source->Generate Constructor Using Fields/Generate Constructors from Superclass
③ 添加Try-catch块 Source->Surround With->Try/Catch Block
④ 代码格式化 Source->Format
2. 导入导出
① 导入Existing Projects:File->Import->General->Existing Projects into Workspace
② 导入Maven工程:File->Import->Maven->Existing Maven Projects
③ 将Java程序编译打包生成jar并导出
File->Export->Java->JAR File 必须按照规范且无错的情况下才可以成功生成
④ 生成程序的API
File->Export->Java->Javadoc 必须按照规范且无错的情况下才可以成功生成
或者
Project->Generate Javadoc
(Java doc注释:输入字符“/**”,然后按回车键)。
3. 安装插件
① 在线安装,从插件的官方网站找到更新地址。在Eclipse的Help->Install New Software...,打开对话框,在Work with:处粘贴更新地址,然后点击“Add...”按钮,在弹出的小对话框中填上自己能理解的Name然后OK,待Eclipse解析出地址后,点击下一步安装即可。
② 离线安装,下载插件包到本地,在Eclipse的Help->Install New Software...,打开对话框,直接点击“Add...”按钮,在小对话框中点击Archive...,选中下载的插件包,填上自己能理解的Name然后OK,待Eclipse解析出内容后,点击下一步安装即可。
4. Build path使用说明
① Source页签,用来设置"source folder"与"output folder"的,一般就采用以上eclipse的默认设置;
设置"source folder"与"output folder":source folder - 存放.java源文件的根目录;output folder - class编译输出的根目录;
-
- 纯“java project“中,一般把"src"设置为source folder,把bin设置为output folder;
- “web project”中,一般把"src"设置为source folder,把WEB-INF/classes设置为output folder;(以上为eclipse的默认设置)
如果不设置output folder,默认输出路径为:与.java文件同一个文件夹下。可以使用“add folder”选项设置“工程名”下的任意文件夹做为“source folder”或者可以使用“Link Source”选项导入任意文件夹做为“source folder”;
② Projects是指是否关联到其他项目进行相关的搜索,这个类似于path路径的搜索,有个反问。
③ Libraries是用来管理类库的,包括外部类库的添加和删除。
④ Order and Export 调用优先级的问题,越在上边调用优先级越高。例如,在同包同类名的情况下,将优先从上到下执行搜索调用,打勾与不打勾的区别在于导出jar包时是否将这个库的内容也打包到jar中,勾为包含,不勾为不包含。
四、Eclipse常用调试功能
1. 调试代码位置的控制
① Step Into (F5) 跳入;
② Step Over (F6) 跳过;
③ Step Return (F7) 执行完当前method,然后return跳出此method;
④ resume (F8) 重新开始执行debug,一直运行直到遇到breakpoint;
⑤ step Filter:以上4中情况中,Step不会跳到设置到Filter中的代码,比如你在调试大量使用到Collection的代码的时候,又不想总是调到jdk的代码中,就可以设置java.util到Filter(设置Filter:window-preferences-java-Debug-step Filtering),那么在调试过程中会自动略过java.util中的代码。
⑥ 执行过程中可以通过选择某个栈层,然后点击Drop to Frame按钮,到达相应的frame层,可以用于“小步返回,重复测试”。
假设有如下代码:
断点设置在第24行,然后开始调试模式,由于printStr方法被main方法调用,所以栈层次是这样的
这时按F6运行一步(System.out.println(str);语句),则打印出asdf;然后再上图所示的位置选中printStr所在的frame,点击Drop to Frame按钮,调试位置会跳回到printStr方法开始,再次按F6,还可以打印出asdf;然后在variables视图修改str的值(下面会说到)为“aaaa”,再点击Drop to Frame按钮,并按F6执行,可以看到打印出aaaa,从而可以实现重复调试。
2. 视图
① Expression”视图:watch 将某个表达式添加到“Expression”视图中,实时地监视对象、方法或变量的变化(注意:表达式是可执行的,比如将表达式str=="123"错写成赋值语句str="123",那么是会改变被赋值的变量的内容的)。
② variables视图:调试过程中显示当前有效的变量的值,在variables 视图选择变量点击右键选择change value可以临时改变变量的值来进行快速调试。
③ breakpoints视图:我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint ,exception breakpoint。
3. 关于breakpoint
① breakpoints类型
-
- field breakpoint,也叫watchpoint(监视点),当成员变量被读取或修改时暂挂;
- method breakpoint,进入/离开此方法时暂挂(Run-method breakpoint);
- Exception breakpoint,捕获到Execption时暂挂。
② breakpoints属性:
-
- hit count, 设置执行N次后暂停,适合程序中的for循环(Breakpoints视图下设置,或在断点上右键选择Breakpoint Preferences,进入对话框设置hit count的次数);
- enable condition, 遇到符合你输入条件(为ture/改变时)就暂挂;
- suspend thread,暂挂此线程;
- suspend VM,暂挂虚拟机;
附:
1. Eclipse项目中的路径问题
① 获取系统根目录
System.getProperty("user.home");
例如输出,C:\Users\liukang
② 获取工程目录
System.getProperty("user.dir");
例如输出,D:\workspaces\eclipse\testpath
③ 新建文件,默认位于工程目录
new File("xxx.txt").getAbsolutePath();
例如输出,D:\workspaces\eclipse\testpath
④ 配置文件路径
ApplicationContext context = new ClassPathXmlApplicationContext("Config.xml");
.xml, .properties等,默认还是从“工程目录”去找的
1) 坚决不推荐用绝对路径;
2) 或者,将log4j文件置于bin/目录下:
-
-
- 代码中,PropertyConfigurator.configure("bin/log4j.properties");
- 代码中,PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties"));
- 注意,必须位于bin直接目录下,不可位于bin更深层的目录当中。
-
⑤ 查询某类的.class文件所在目录
Main.class.getResource(“”);
例如输出,D:\workspaces\eclipse\testpath\bin\com\kang\test\
注意,查询包上级路径,只需将参数改作“/”
⑥ 查询thread上下文所在目录
Thread.currentThread().getContextClassLoader().getResource("");
例如输出,D:\workspaces\eclipse\testpath\bin\
⑦ 查询某类的classloader所在目录
Main.class.getClassLoader().getResource("");
例如输出,D:\workspaces\eclipse\testpath\bin\
⑧ 查询classloader所在目录
ClassLoader.getSystemResource("");
例如输出,D:\workspaces\eclipse\testpath\bin\
2. Eclipse快捷键大全
Ctrl+1 快速修复
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
重构
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
编辑
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y
查看
全局 放大 Ctrl+=
全局 缩小 Ctrl+-
窗口
全局 激活编辑器 F12
全局 切换编辑器 Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视图 Ctrl+Shift+F7
全局 上一个透视图 Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视图 Ctrl+F7
全局 下一个透视图 Ctrl+F8
文本编辑器 显示标尺上下文菜单 Ctrl+W
全局 显示视图菜单 Ctrl+F10
全局 显示系统菜单 Alt+-
导航
Java编辑器 打开结构 Ctrl+F3
全局 打开类型 Ctrl+Shift+T
全局 打开类型层次结构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一个 Ctrl+,
全局 下一个 Ctrl+.
Java编辑器 显示大纲 Ctrl+O
全局 在层次结构中打开类型 Ctrl+Shift+H
全局 转至匹配的括号 Ctrl+Shift+P
全局 转至上一个编辑位置 Ctrl+Q
Java编辑器 转至上一个成员 Ctrl+Shift+↑
Java编辑器 转至下一个成员 Ctrl+Shift+↓
文本编辑器 转至行 Ctrl+L
搜索
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜索对话框 Ctrl+H
全局 工作区中的声明 Ctrl+G
全局 工作区中的引用 Ctrl+Shift+G
文本编辑
文本编辑器 改写切换 Insert
文本编辑器 上滚行 Ctrl+↑
文本编辑器 下滚行 Ctrl+↓
文件
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属性 Alt+Enter
全局 新建 Ctrl+N
项目
全局 全部构建 Ctrl+B
源代码
Java编辑器 格式化 Ctrl+Shift+F
Java编辑器 取消注释 Ctrl+\
Java编辑器 注释 Ctrl+/
Java编辑器 添加导入 Ctrl+Shift+M
Java编辑器 组织导入 Ctrl+Shift+O
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。
运行
全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U