`

eclipse:初装设置+使用技巧(快捷键等)+常用插件

阅读更多
setting of eclipse


My 初装设置:
1 Preferences - general - appearance - colores and fonts - basic,将其下的Text Font设置为自己习惯的inconsolata/Monaco/courier new等。关于字体的选项只改这一个地方就可以了,在eclipse中被打开的所有类型的文件都会变成更改后的字体。recommended fonts for coding:
http://stackoverflow.com/questions/4689/recommended-fonts-for-programming?answertab=votes#tab-top
http://stackoverflow.com/questions/1028527/best-font-for-coding?answertab=votes#tab-top
2 Eclipse Java Code Templates 相关
引用

http://stackoverflow.com/questions/1028858/useful-eclipse-java-code-templates?rq=1 待看
设置java文件的注释:
为新建的java源文件自动生成注释:Preferences - java - code style - code templates - code - new java files
引用
${filecomment}
${package_declaration}

/**
* ${todo}
*
* @author <a href="mailto:aaa@164.com">Zhao Si</a>
* @date ${date}
**/

${typecomment}
${type_declaration}

java源文件类名上 /** + ENTER 生成注释:Preferences - java - code style - code templates - comments - types
引用
/**${todo}
*
* @author <a href="mailto:aaa@164.com">Steve Jobs</a>
* @date ${date}
* ${tags}*/
方法上的 /** + ENTER 注释,使用eclipse默认的足矣
去掉自动生成的 fields 上的注释(如 serialVersionUID 上的注释):
Preferences - java - code style - code templates - comments - fields,将其 pattern 清空。
3 禁用 Eclipse 的拼写检查:
Preferences -> General -> Editors -> Text Editors -> Spelling,去掉 Enable spell checking 前面的勾
4 显示各种 whitespace characters:
Preferences > General > Editors > Text Editors,勾选 "Show whitespace characters"
5 针对某类型文件的编码设置:
有些文件,如 java properties 文件、jsp 文件,在eclipse中的默认编码方式是 ISO-8859-1,在 Window -> Preferences -> General -> content Types -> Text 下可以看到一些类型文件对应的默认编码。之所以 java properties 类型 文件的默认编码是 ISO-8859-1,是因为 java Properties 类默认用的就是 ISO-8859-1:
http://stackoverflow.com/questions/863838/problem-with-java-properties-utf8-encoding-in-eclipse
引用
Properties files are ISO-8859-1 by definition - see the docs for the Properties class.
这正是当在 eclipse 中打开 .properties 文件时,中文老是出现乱码的罪魁祸首(尽管项目本身的默认编码可能是正确的 utf-8,但 eclise 对 .properties 文件的默认编码 ISO-8859-1 才是最终打开 .properties 文件使用的编码)。统一改的方式很简单,将 Window -> Preferences -> General -> content Types -> Text -> Java Properties Files 的 Default encoding 改为 UTF-8 即可。
6 static imports:
Ctrl+Shift+O只可以用来import class,如果想自动 import static methods,参见:
http://stackoverflow.com/questions/288861/eclipse-optimize-imports-to-include-static-imports
引用
假如想要自动提示并自动引入 org.junit.Assert 的几个 static methods,Window » Preferences » Java » Editor » Content Assist » Favorites,点击 “New Type”,添加 org.junit.Assert 即可。

7 几个有用的 java Editor Templates:
引用
在 Preferences > java > Editor > Templates 下:
1. 自动补全 slf4j 的 logger: new,name:logger,context:java,pattern:
引用
${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}
private static final Logger logger = LoggerFactory.getLogger(${enclosing_type}.class);
8 whitespace处理:
http://stackoverflow.com/questions/407929/how-do-i-change-eclipse-to-use-spaces-instead-of-tabs
引用
Window->Preferences->General->Editors->Text Editors, tick Insert spaces for tabs
Window->Preferences->Java->Code Style->Formatter, click Edit, select “Spaces only” option from the Tab policy drop-down, and rename to save it.
Window->Preferences->XML->XML Files->Editor, tick Indent using spaces
Preferences -> Java -> Editors -> Save Actions, Check "Perform the selected actions on save", then check "Additional actions" and click the "Configure.." button. In the "Code organizing" tab, check "Remove trailing whitespace" and "Correct indentation"




常见问题与解决:
1 Eclipse 有时候会出现无法加载 XML 文件对应的 DTD 的情况(如 SPring applicationContext.xml、MyBatis mapper.xml 等),导致无法对书写的 xml 文件做语法检查,很烦人。解决办法:
以 MyBatis mapper 文件(为例),其头为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
eclipse 无法自动加载 mybatis-3-mapper.dtd 这个 dtd 文件,可以用如下步骤为其手动添加:
Windows -> Preferences -> XML -> XML Catalog -> Add,  为该 dtd 添加一个新的 User specified entry:
Location 填写 mybatis-3-mapper.dtd 在本地文件系统中的路径;
Key type 选择 URI;
Key 填写 MyBatis mapper 文件其头中 PUBLIC 对应的值,即 -//mybatis.org//DTD Mapper 3.0//EN;
Done。




eclipse.ini相关设置:
http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/performance-tuni-5
http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse

http://www.blogjava.net/wilesun/archive/2007/12/15/167915.html
-vmargs
-Xms256M
-Xmx1024M
-XX:PermSize=128M
-XX:MaxPermSize=512M



Eclipse 与 Tomcat:
1. 为了防止 eclipse 下启动的 tomcat 报 Memory 相关错误,在其启动参数中增大内存使用:
Run - Run configurations - tomcat - arguments,VM arguments 下添加:
-Xms512m -Xmx1024m -XX:MaxNewSize=512M -XX:MaxPermSize=512M
参见本:http://wuaner.iteye.com/blog/319390
2. 当有多个项目时,一种常采用的方式是把公用的配置项,如 datasources 等,抽取出来作为一个单独的项目来维护,并放在部署环境上一个统一的目录下(如 /etc/orgName/config),而不在各个业务项目中分别维护。为了将该公用配置作为 external classpath 供 tomcat 使用,则使用 tomcat 的 setenv.sh 脚本是个不错的办法:
tomcat/bin/setenv.sh,该文件须是可执行权限:
#!/bin/sh
export CLASSPATH=$CLASSPATH:/etc/orgName/config
直接通过 tomcat/bin/startup.sh 启动 tomcat,脚本 setenv.sh 会被执行到;但是对于 eclipse 下 tomcat 就需要注意,使用 WTP 在eclipse 下配置的 tomcat,其配置项是独立的,不和其所指向的 tomcat 目录混淆的,是不会去执行诸如 setenv.sh 这样的外部脚本的!见:
http://stackoverflow.com/questions/13870225/how-to-set-jvm-arguments-in-tomcat-that-work-both-in-eclipse-and-using-the-start
所以,如果想让外部 CLASSPATH 在 eclipse 下的 tomcat 里起作用,为该 tomcat 指定 external classpath 即可:
Run - Run configurations - tomcat - Classpath - User Entries - Advanced - Add External Folder, 将 /etc/orgName/config 作为 external classpath 目录添加进来即可。



快捷键 hotkeys
http://martin.ankerl.com/2006/07/20/top-10-eclipse-hotkeys/
引用
Moving around
Ctrl+J — Incremental Search
Ctrl+Shift+T — Search a type, with search on typing. You can use only the upcase letters (e.g. type “MIL” to find MouseInputListener)
Ctrl+F6 — Switch between last used files
F3 — Open declaration
Ctrl+Alt+H — Open Call Hierarchy
Shift + Enter - 在当前行后添加空行
Ctrl + Shift + Enter - 在当前行前添加空行
Ctrl + Home/End - Jump to beginning / end of current file
Editing
Ctrl+1 — Quick Fix: press while cursor is positioned at member variable, parameter, selection, warnings, errors, …
Ctrl+Space — Context Assist: press after a ., or to use macros (for, while, sysout, …). Press in class-scope to automatically create method declarations.
Ctrl+Shift+O — Organize Imports;该快捷键既可以用来import缺失的class,也可以移除“unused import”;若需要将整个包下所有java文件中的“unused import” remove掉,则在包上点击 Source->Organize Imports 即可,参见 http://stackoverflow.com/questions/5686825/remove-unused-import-from-eclipse
Alt+Shift+O — Toggle Mark Occurrences; “Mark Occurrences”即点击一个java文件中中的变量名,提示该变量在文件中被使用的地方的功能。参见 http://stackoverflow.com/questions/919614/eclipse-problem-doesnt-highlight-references-anymore
Ctrl+Shift+F — Reformat source
Alt+Shift+T — Show Refactor Quick Menu
In case these hotkeys are not enough or you have forgotten which hotkey does what, you can always press Ctrl+Shift+L to get a nice list of all the hotkeys.
Ctrl + Y:重复(与 Ctrl+Z 对应)
让Eclipse的自动提示更加智能
Windows --- Preferences---Java---Editor---Content Assistant,修改 Auto activiation triggers for Java 为”.abcdefghijklmnopqrstuvwxyz(,”,这句话的意思就是只要遇到这么些字符就提示。



Maven m2e 与 eclipse:
关于使用 m2e 时烦人的 Plugin execution not covered by lifecycle configuration,请直接在 Windiow > Preferences > Maven > Errors/Warnings > Plugin executiuon not covered by lifecycle configuration,选择 ignore 该异常:
http://stackoverflow.com/a/27430618/1635855
eclipse中maven对maven项目做资源搜索(CTRL + SHIFT+R)时,排除特定的目录、项目:
http://stackoverflow.com/questions/443169/exclude-folders-from-eclipse-search
引用
结合帖子里提供的几种方法,综合说来,为了细化 eclipse CTRL + SHIFT+R 的搜索结果,可以:
1 首先,使用 Working Set,将关联的项目(如一个 maven parent project 与多个 maven children projects)单列到一个Working Set中,只针对该Working Set做资源搜索;
2 其次,针对 maven 项目的 build-directory - target 目录也出现在搜索结果中的情况,使用为 target 目录设置 derived 属性的方式,将其在搜索结果排除(eclipse资源搜索默认是不会搜索 derived folders 的)(另:如果想 derived 在 eclipse Package Explorer View 下不会显示的目录,如 .git 目录、.settings 目录,请切换到 Navigator View 下 derived 之);
3 甚至,如果你希望 src/test/resources 目录下的单元测试用资源文件也都排除在搜索结果之外,可以参照 2 中对 target 目录的设置,同样将 src/test/resources 也设为 derived;
4 最后,针对 mutiple modules 的 maven 项目 parent project 的搜索结果显得多余的情况,可以使用为 parent project 添加 Resource Filters 的方式:
Right click parent project -> Properties -> Resources -> Resources Filters -> Add, "Exclude All", "Folders", "All Children", "*",排除 parent project 下的所有子项目文件夹:

安装 m2e 一般也请安装 m2e-wtp,原因见:
http://wuaner.iteye.com/blog/415553



debug调试相关:
http://hi.baidu.com/stresume/blog/item/df904fee0a70adfcb2fb9549.html
引用
快捷键(F5 Step Into)单步执行程序,遇到方法时进入。
快捷键(F6 Step Over)单步执行程序,遇到方法时跳过。
快捷键(F7 Step Return)单步执行程序,从当前方法跳出。
快捷键(F8 Resume)直接执行程序。
例如你有如下程序:
public static void main(String args[]) {
MyDate aa = new MyDate(); 
aa.addDays(day); =============》(1) 
System.out.println("eeeeeeeeeeeeeee");=============》(2) 
}
public String addDays(int more_days) { 
System.out.println("1"); =============》(3) 
String result = ""; =============》(4) 
System.out.println("2"); =============》(5) 
return result; 
}
在(1)处加断点,运行到此处时如果Step Into (also F5)为跳入,则接着执行到(3)。再执行Step Over (also F6)执行本行,则执行到(4)。再执行Step Return (also F7),则跳出addDays方法,跳到(2)
Eclipse 中 drop to frame 的调试技巧:
http://www.cnblogs.com/william-lee/archive/2010/09/03/1816645.html
引用
Select the Drop to Frame command [] to re-enter the selected stack frame in the Debug View.
Note this command is only available if the current VM supports drop to frame and the selected stackframe is not the top frame or a frame in a native method.
就是说,这个功能可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)
Eclipse: Dealing with Frames:
http://www.javalobby.org/forums/thread.jspa?threadID=15271&tstart=0



插件 plugins:
https://blog.simpleigh.com/2013/06/some-handy-eclipse-plugins/
Eclipse插件安装方式总结:
http://blog.csdn.net/willowind/archive/2010/03/31/5434173.aspx
引用
里头的第三种方式安装插件要有一定的讲究。即:插件目录下面一定要有eclipse目录,然后在eclipse目录下分别建立features和plugins。即目录结构要是这样的:
D:\eclipse_plugins\vss\eclipse\plugins
D:\eclipse_plugins\vss\eclipse\features
另外,若使用的是myeclipse,在使用第三种方式(通过建立link文件的方式)的时候,link文件是放在%MYECLIPSE_HOME%\eclipse\links目录下。
常用插件:
1 两个查看和编辑国际化资源文本( .properties 文件)的利器:
PropertiesEditor:
http://propedit.sourceforge.jp/index_en.html
Eclipse ResourceBundle Editor:
http://sourceforge.net/projects/eclipse-rbe/
2 shellEd:
http://sourceforge.net/apps/trac/shelled/wiki/Documentation/InstallGuide
引用
1 eclipse中在线安装 Man Page Plug-in(后改名为Linux Tools;很大的一个插件,shellEd的shell命令帮助需要用到该插件,不先安装Man Page Plug-in,直接跳到第二步安装shellEd的话会报错,导致安装不成功。):
office site:http://www.eclipse.org/linuxtools/downloads.php
eclipse repo:http://download.eclipse.org/linuxtools/updates-nightly
2 至 shellEd官网下载zip包,在eclipse中 help - install new softwre - add - archive,选择下载的shellEd zip安装包作为安装源。
shellEd office site:http://sourceforge.net/projects/shelled/
3 whitespace格式化工具(水平制表符 转 空格符):AnyEdit:
http://andrei.gmxhome.de/anyedit/
4 FindBugs:
http://findbugs.cs.umd.edu/eclipse/
5 Generate builder pattern in eclipse:
http://stackoverflow.com/questions/12312569/generate-builder-pattern-in-eclipse
引用
生成的 Builder 代码最简洁、最好用的是 bpep:
https://code.google.com/p/bpep/
6 StartExplorer
JSON Editor Plugin or Json Tools
  • 大小: 108.9 KB
分享到:
评论

相关推荐

    Android开发技巧与性能优化

    1. 最常用的 ECLIPSE ECLIPSE ECLIPSE ECLIPSE 快捷键& 模拟器快捷键 1.1E CLIPSE 快捷键 1.2 模拟器快捷键 2.ECLISPE 使用技巧 2.1 密技篇: 2.2 外挂篇: 2.3 一般插件安装 2.4 安装 M YECLIPSE 2.5自定义注释 ...

    编程入门_Eclipse教程

    1. 配置服务器Tomcat 2 1.1. 详细配置如下 2 2. Axis2与Eclipse的整合 7 2.1. Axis2下载,并部署axis2...5.3. 常用的快捷键 37 5.4. 代码编写小技巧 37 5.5. Eclipse中恢复已删除文件 37 5.6. Eclipse中轻松使用Ant 40

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包4

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。...

Global site tag (gtag.js) - Google Analytics