欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

eclipse相关技巧总结

程序员文章站 2022-03-02 18:15:55
...
  eclipse作为被广泛使用的ide,基本的使用技巧每个人都会一些,然而可能并未充分发掘其潜力,也许我们并没有真正认识这个常常打交道的家伙,工欲善其事必先利其器,把找到的eclipse的一些使用技巧转过来备份纪录,也希望能方便大家(文章结构可能有点乱)
eclipse 代码行统计
统计总代码行:
打开File Search对话框,
选中正则表达式,在搜索文本框输入 \n
文件名称输入 *.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_jee\eclipse.exe -vm D:\Java\jdk1.5.0_10\bin\javaw


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\.settings\org.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   (多个通过\n分隔)

这个文件影响eclipse程序中的“Switch workspce”菜单

    每个Workset如何知道有多少工程
每个workset对应一个目录,里面记载着程序信息,和调试程序的配置信息,以及IDE界面的设置信息,还有其它插件的配置信息等。

如何知道多少个project呢?

${workset目录}\.metadata\.plugins\org.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