• eclipse相关技巧总结


    原文: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

  • 相关阅读:
    Leetcode 15
    setjmp和longjmp重复使用的问题
    linux的下两种定时器实现
    linux中的信号处理
    【推荐软件】ack
    《代码大全》阅读心得二
    更换svn diff为vimdiff
    unpack的一点使用问题
    【lua】table是否为空的判断
    vi复制部分字符
  • 原文地址:https://www.cnblogs.com/jexwn/p/4435160.html
Copyright © 2020-2023  润新知