原文:http://licoolxue.iteye.com/blog/619983
eclipse作为被广泛使用的ide,基本的使用技巧每个人都会一些,然而可能并未充分发掘其潜力,也许我们并没有真正认识这个常常打交道的家伙,工欲善其事必先利其器,把找到的eclipse的一些使用技巧转过来备份纪录,也希望能方便大家(文章结构可能有点乱)
eclipse 代码行统计
统计总代码行:
打开File Search对话框,
选中正则表达式,在搜索文本框输入
文件名称输入 *.java
在范围里选中Enclosing projects
然后就可以统计出整个项目的代码行数。
在RCP中快速打开文件的小技巧,例如,在Word中打开一个Word文档,或者在Acrobat中打开一个PDF文件。
这可以通过SWT的org.eclipse.swt.program.Program类来实现:
String filename = "myword.doc";
Program.launch(filename);
这个类还提供了其他一些有用的方法,例如得到某一特定扩展名对应的可执行程序,甚至得到这个可执行程序的图标。
转自(http://www.blogjava.net/eclipshine/)
文件系统不同步问题resource is out of sync with the file system的解决办法(转)
在eclipse中,启动run on server时报错:
Resource is out of sync with the file system:
'/Test_1_Struts_Spring_Hibernate/WebContent/WEB-INF/.struts-config.xml.strutside'.
查阅资料后发现这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。
解决办法:需要手动刷新一下资源管理器。
(1)在eclipse中,工程目录右键,选择F5(refresh)
(2)设置eclipse自动刷新。
通过Window->Preferences->General->Workspace,选中Refresh
automatically。
将Eclipse中的插件包导入成源码工程
打开Eclipse的PDE的Plug-ins视图,可以列出当前eclipse下(包括workspace中)的所有插件,可以将某一插件导入成工程(右键Import as->Source Project)
删除eclipse的configuration目录导致eclipse无法启动的解决办法
这是由于equinox可以创建 configuration目录,但是无法自己创建config.ini文件。在启动eclipse的时候,需要用到config.ini中的配置内容。
删除了configuration后,启动eclipse会自动重建configuration目录。
然后可以自己在configuration目录下新建一个config.ini文件,增加以下五行内容到config.ini文件中。
osgi.splashPath = platform:/base/plugins/org.eclipse.platform
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start
eclipse.product=org.eclipse.sdk.ide
osgi.instance.area.default=@user.home/workspace
eof=eof
保存文件后,重新启动eclipse就没有问题了
IFile点滴
//取得IFile文件的绝对路径
String path= ifile.getLocation().makeAbsolute().toFile().getAbsolutePath();
//IFile转File
File file =iFile.getLocation().toFile();
在New菜单组里添加一项
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="org.eclipse.jdt.ui.JavaPerspective">
<newWizardShortcut id="XX.WebProjectWizard"/>
</perspectiveExtension>
</extension>
其中:如果设置targetID = * 表示应用到所有透视图
java web工程报错 Java compiler level does not match the version of the installed Java project facet
这个是因为Facted Project中的Java版本设定与项目的Java版本设定不一致。
解决方法1:
eclipse 加vm参数 如
创建一个快捷方式,设定目标位置为 D:eclipse_jeeeclipse.exe -vm D:Javajdk1.5.0_10injavaw
Eclipse插件项目运行调试报内存溢出的解决
插件调试时内存溢出 ,调优JVM参数,增加内存:
-Xms64m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
(有关JVM参数调优讲解可参考:http://niyunjiu.iteye.com/blog/337266)
Eclipse WorkSet
将所有的已有的项目引入到工作区后,显示在一个文件夹下
Show -> Working Sets -> create a working set -> select all projects -> ok
这样,在eclipse工作区中,所有的项目将以Working Set来显示。
Eclipse workset/project组织结构探究
Eclipse如何知道有多少个Workset
该文件记载即是:
${Eclipse安装目录}configuration.settingsorg.eclipse.ui.ide.prefs
文件内容如下:
#Tue Nov 11 15:42:15 CST 2008
RECENT_WORKSPACES_PROTOCOL=3
MAX_RECENT_WORKSPACES=5
SHOW_WORKSPACE_SELECTION_DIALOG=false
eclipse.preferences.version=1
RECENT_WORKSPACES=F:\PopularSoft\Eclipse (多个通过
分隔)
这个文件影响eclipse程序中的“Switch workspce”菜单
每个Workset如何知道有多少工程
每个workset对应一个目录,里面记载着程序信息,和调试程序的配置信息,以及IDE界面的设置信息,还有其它插件的配置信息等。
如何知道多少个project呢?
${workset目录}.metadata.pluginsorg.eclipse.core.resources.projects
该目录下面的子目录下面如果有“.location”文件的,表示的就是代码工程。
注意,实际代码可能在这里,也可能不在此。
通常在新建一个java project,并选定目录时,会提示该工程重名,原因就在此目录下已有一个同名子目录了。此时改个工程名即可。
如何标记目录为eclipse project
对于Java的代码工程目录,下面都会有一个.project文件;以此标明为Java工程。
可能Java Dynamic project还包括特殊的内容目录等,此类工程类型也是通过该project文件指明的。
如果建立了一个普通的java工程,想转成Java Dynamic project,只需要在eclipse删掉该工程注意不要删除实际系统文件;或者在该目录下将文件删掉注意为了后期重名影响可以将workset下该工程信息目录也删掉。
另外,对于已经是java project的目录,可以导入import到原有或新的workset中,用不着每次都新建。
一个project是可以加入到多个workset中的。
Eclipse(3.3)高级技巧
当一个类比较大的时候,我们用鼠标滑轮往下移动的时候有时候总觉得比较慢,这时如果我们按住Ctrl键然后再滑动滚轮的时候,那么每滚一下都会翻整个页面,那么浏览的速度就大大加快了。
Eclipse中加入了重构脚本(Refactoring Script),如果用户经常有重复的重构的话,可以再refactor菜单里面选择Create Script可以把当前的重构脚本保存下来,下次想用的时候,可以用菜单里面的Apply refactoring直接调用脚本就可以。不用手动的去refactoring。
如果你剪贴板里面复制了整个java文件的源码(包括包结构),那么你在Eclipse中的Package Explorer上面点击右键选择粘贴(或者Ctrl+V),那么Eclipse会 建立一个对应的。java文件,如果你的java文件的源码里面含了包结构,那么相应的Eclipse就会建立相应的包文件夹结构,非常方便实用。
如果你对java里面大括号和小括号一成不变的颜色看着不爽的话,那你可以在Java > Editor > Syntax Coloring 里面修改为你想要的颜色,我修改的是绿色呵呵。
WorkSet给我们管理分组的类特别的方便好管理,现在在Eclipse中添加了一个新的功能,直接把check out的文件可以放到一个WorkSet里面(选择add project to a working set),这就省去了重新建立WorkSet步骤,间接实用。
我们经常用History视图,能方便的查看某个文件的历史版本记录,但是最新版本的Eclipse中加入了智能搜索功能,能根据你在列表框下面输入的text里面智能的找出相配对的内容,譬如可以根据author,comment,tag等等自动匹配查找。
对于已经建立好的WrokSet,我们如果想直接添加或者减少其中的文件的时候,要打开Edit WrokSet来编辑,比较麻烦,现在Eclipse已经有快捷的工具栏,可以直接把Packager Explorer里面的选择的文件直接添加或除去。
有些用户经常编辑代码,又嫌显示器的空间不够,想把toolbar隐藏掉来扩大空间,现在Eclipse提供了这个新功能,直接再Eclipse的工具栏上面上面点击Hide ToolBar就可以隐藏掉工具栏,如果想再显示了,在Windows菜单里面选择Show Toolbar就可以显示了。
在一般情况下,我们再Package Explorer里面最顶层显示的都是以Project为顶层目录的,哪怕是选择了某几个WorkSet也是这样,我们也可以以选择的WorkSet的名字为顶层目录来显示Project的结构,你只要在Package Explorer里面的下拉箭头里面选择Top Leave Elements---Working Sets就可以了,这样显示Wrokset更加明显更加直观。
在Eclipse重构里面有一项move选项,一般是把一个文件从一个包移动到另外一个包的,但现在Eclipse把这个步骤简化了,直接用鼠标在Package Explorer里面拖拽就可以触发这个move 重构事件,也就是说当你把一个文件从一个包移动到另外一个包,Eclipse会自动修改引用这个类的包结构,而不需要你一个一个的去修改。
现在Eclipse除了代码的Undo以外(undo typing),还可以把增加的Task ,bookmark等等都可以Undo,当你增加了一个Task或者是Bookmark以后,就可以直接在Edit菜单里面Undo它们,很方便。
我们在CVS里面查看最后是谁编辑的时候show annotate 只有鼠标、放在左边的show number栏上才能显示相应的作者和版本的信息。现在有个新的功能就是在左边number栏上点右键选择了Revisions--下面的show author或者是show Id。那么左边的number栏上面就直接显示Author和版本号,而不需要放鼠标了,一目了然。
除了我们一般用的cvs版本之间的比较替换之外,Eclipse还给我们提供了一个方便的Local History功能,就是把本地自己修改过的文件历史记录下来,这个在Edit View页面的右键里面就有(比直接在文件方面点右键选择的History要方便的多),在这个菜单里面可以比较,替换本地的当前文件的历史代码,非常好用。
在Eclipse的Edit菜单里面有关Clean up选项,它可以把当前的java文件自动整理得更加符合良好的编程规范,譬如清理不用的变量和多引用的包,自动给if else语句加括号(当然前提是没有加的),还有用类变量来访问静态变量等待一系列的优秀的编码规则。
在Clean up里面最后一项里面有关format code,如果选中了,那么你在clean up代码的时候顺便可以格式化代码,比较实用的选项。
在Eclipse现在不仅仅可以设置执行语句的断点,现在可以在函数名上面,类的定义上面设置断点,这样就更加容易跟踪和调试了,譬如你断点设置在类名上面,你就可以清楚的看到,这个类加载的时候是怎么样的执行顺序。
很多用户在操作Eclipse里面的时候,经常会误删除或者误操作一些文件,譬如拷贝,复制文件等等,这时候在Eclipse新版本中提供了一个新的 Undo功能,就是让用户撮了误操作的时候有吃后悔药的机会,不过只能在Navigator Explorer 这个View中才能从系统的Edit的菜单中调用这个功能。
在Eclipse中的CVS里面的Show Annotaion视图里面,以前在侧边栏上显示的只是不同的颜色,鼠标放在侧栏上面才有作者和日期的显示,现在在Show Annotion视图里面的右键菜单里面加了在侧栏显示Author和Comment,日期等等选项,非常直观方便。
在Eclipse有个Filter可以把所有的引用包(Referenced libraries)隐藏起来,但有时候又要查看所有的引用包,甚至里面的源码结构(最新Eclipse已经有这个功能),现在在Eclipse Package Explorer视图里面的下三角菜单里面加入了“ Show Referenced Libraries Note”选项,如果用户选择了,那么把所有的引用库都放在这个节点下面,随时可以展开和收缩。
以前只有在Navigator Explorer里面有文件的Undo功能,现在最新版本里面在Package Explorer视图里面也增加了文件或者包删除的Undo功能,到时候用户从Edit下拉菜单里面就可以选择。
现在在打开资源选择框里面(Ctrl+Shift+T)可以选择多个文件同时打开。
参考http://www.blogjava.net/GEF/archive/2007/08/29/140922.html
http://iammr.7.blog.163.com/blog/static/49102699200912665541316/
http://hi.baidu.com/janneyting/blog/item/a217a63678ef79330b55a973.html
http://chengyu-555.iteye.com/blog/261665