EasyExplorer

本文介绍如何利用Eclipse插件EasyExplorer在Eclipse中的使用。

  Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。

  问题提出:



  假如你经常需要在Eclipse里打开相关资源文件所在的文件夹,比较麻烦,要右键,属性,在Location一栏中把所在的文件夹拷贝一下,然后再去资源治理器里输入这个路径,回车,然后打开它。

  解决方法:



  用EasyExplorer插件,有了这个插件就可以很方便地打开资源文件所在的文件夹了。  安装

  JDK:1.5.0 从http://java.sun.com上去下载安装



  Eclipse:3.1.1 从http://www.eclipse.org 上去下载解压



  EasyExplorer 从http://sourceforge.net/projects/easystruts/  技巧

  提示:新下载的插件PlugIn一定不要都放在原始的Eclipse目录下去,一大堆,累死你。



前提是你已经安装好了Eclipse工具了,比如安装在E:\OpenSource\Eclipse\目录下,以下这个目录以霯IPSE_HOME%来进行表示;





此时默认的插件是在霯IPSE_HOME%\plugins目录中的;





在霯IPSE_HOME%下建立一个PlugInsNew的目录;

比如:E:\OpenSource\Eclipse\PlugInsNew\





你下载了个新的插件,比如叫做:XYZ

那么就在霯IPSE_HOME%\PlugInsNew\目录下建立XYZ目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示:

  

把下载的新插件的文件放在以下相应目录中

霯IPSE_HOME%\PlugInsNew\XYZ\eclipse\features

霯IPSE_HOME%\PlugInsNew\XYZ\eclipse\plugins

建立相关的.link的文件

然后在霯IPSE_HOME%\links目录里建立一个XYZ.link的文件



内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示而已。



这样,假如你下载了多个插件就可以如法炮制建立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到霯IPSE_HOME%\links的目录中即可,使用与治理都很方便,建议千万不要放在默认的安装目录中;



假如你的霯IPSE_HOME%与此不同,请修改XYZ.link文件里的路径

删除,关闭Eclipse

删除霯IPSE_HOME%\links\XYZ.link文件即可



删除霯IPSE_HOME%\PlugInsNew\XYZ整个目录及文件

重新启动Eclipse即可   使用

  EasyExplorer插件安装方法采用上一节的《Eclipse使用技巧之插件治理》

  重新启动Eclipse后,在Package Explorer、Outline、Naviagtor、Problems、文件编辑等等窗口中右键,可以看到多个一个带有文件夹图标Easy Explore…菜单。

  在Package Explorer窗口中右键,如下图所示:

  

  在Naviagtor窗口中右键中右键,如下图所示:

  

  

  在Outline窗口中右键中右键,如下图所示:

  

  

  在Problems窗口中右键中右键,如下图所示:

  

  在文件编辑窗口中右键中右键,如下图所示:

  

  利用EasyExplorer插件可以在Eclipse用Explorer打开资源文件所在的文件夹。其它配置是在这里Windows => Preferences => Easy Explore => Target => explorer.exe {0}

  可以看到在Windows平台上是用explorer.exe {0}来打开的,{0}是用来传递参数的。

  

共2页。 1 2 :  技巧:我习惯以资源治理器的方式来打开文件夹,方便进行拖动操作,即左边带文件树,那么在这里你可以设置成为explorer.exe /e,{0}即可,这样用EasyExplore打开文件夹时就是以这种方式来打开的,而且左边的文件树里,直接定位到文件夹上面,很是方便。

  Explorer.exe的参数如下:大家可以根据自己的喜好进行设定:

  命令格式Explorer [/n][/e][[,/root],[path]][[,/select],[path filename]]

  参数说明



  /n表示以“我的电脑”方式打开一个新的窗口,通常打开的是Windows安装分区的根目录。



  /e表示以“资源治理器”方式打开一个新的窗口,通常打开的也是Windows安装分区的根目录。



  /root,[path]表示打开指定的文件夹,/root表示只显示指定文件夹下面的文件(夹),不显示其它磁盘分区和文件夹;[path]表示指定的路径。



  假如不加/root参数,而只用[path]参数,则可以显示其它磁盘分区和文件夹中的内容。另外,[path]还可以指定网络共享文件夹。



  /select,[path filename]表示打开指定的文件夹并且选中指定的文件,[path filename]表示指定的路径和文件名。



  假如不加/select参数,则系统会用相应的关联程序打开该文件。假如[path filename]不跟文件名就会打开该文件夹的上级目录并选中该文件夹。

  通过对以上explorer.exe的参数分析,我们可能会有个希望就是实现既显示左边的文件树,又同时右边也定位到的选定的文件或文件夹上面。



  那应当是设置为:explorer.exe /e,/select {0},不过这件EasyExplore帮你打开的只是定位在文件夹上面,而不是相应的文件上面。

  你可以自己修改源代码来实现。



  把EasyExploreAction.java文件中的



if(selected instanceof IFile)

directory = directory.getParentFile();

if(selected instanceof File)

directory = directory.getParentFile();



  注释掉,重启编译打包进去就可以,在Windows上面使用没有问题!

  打开这个插件包,我们可以看到easyexplore.jar里面只有三个文件,我们就用jad反编译过来看看,是怎么实现的。



  一个配置文件EasyExplorePreferencePage.java



  一个插件文件EasyExplorePlugin.java



  一个执行文件EasyExploreAction.java



  主要执行的相关代码是在执行文件EasyExploreAction.java中

  不过,我们可以从EasyExplorePlugin.java里面代码知道,EasyExplore支持Windows和Mac两种操作系统,要害代码如下:protected void initializeDefaultPreferences(IPreferenceStore store)

    {

        String defaultTarget = "shell_open_command {0}";

        String osName = System.getProperty("os.name");

        if(osName.indexOf("Windows") != -1)

            defaultTarget = "explorer.exe {0}";

        else

        if(osName.indexOf("Mac") != -1)

            defaultTarget = "open {0}";

        store.setDefault("org.sf.easyexplore.targetPreference", defaultTarget);

    }



  执行文件EasyExploreAction.java代码的要害分析:



    public void run(IAction action)

    {

        try

        {

            if("unknown".equals(selected))

            {

                MessageDialog.openInformation(new Shell(), "Easy Explore", "Unable to explore "   selectedClass.getName());

                EasyExplorePlugin.log("Unable to explore "   selectedClass);

                return;

            }

            File directory = null;

            if(selected instanceof IResource)

                directory = new File(((IResource)selected).getLocation().toOSString());

            else

            if(selected instanceof File)

                directory = (File)selected;

            if(selected instanceof IFile)

                directory = directory.getParentFile();

            if(selected instanceof File)

                directory = directory.getParentFile();

            String target = EasyExplorePlugin.getDefault().getTarget();

            if(!EasyExplorePlugin.getDefault().isSupported())

            {

                MessageDialog.openInformation(new Shell(), "Easy Explore", "This platform ("   System.getProperty("os.name")   ") is currently unsupported.\n"   "You can try to provide the correct command to execute in the Preference dialog.\n"   "If you succeed, please be kind to post your discovery on EasyExplore website http://sourceforge.net/projects/easystruts,\n"   "or by email [email protected]. Thanks !");

                return;

            }

            if(target.indexOf("{0}") == -1)

                target = target.trim()   " {0}";

            target = MessageFormat.format(target, new String[] {

                directory.toString()

            });

            try

            {

                EasyExplorePlugin.log("running: "   target);

                Runtime.getRuntime().exec(target);

            }

            catch(Throwable t)

            {

                MessageDialog.openInformation(new Shell(), "Easy Explore", "Unable to execute "   target);

                EasyExplorePlugin.log(t);

            }

        }

        catch(Throwable e)

        {

            EasyExplorePlugin.log(e);

        }

    }



  使用Runtime.getRuntime().exec(target);执行资源文件所在的文件夹target参数,就可以打开文件夹了。  总结

  此插件的功能很简单,但是很有用的小插件。假如你经常需要打开相关资源文件所在的文件夹,比较麻烦,要右键,属性,在Location一栏中把所在的文件夹拷贝一下,然后再去资源治理器里输入这个路径,回车,打开它。现在有了这个插件就很方便了呀。

  从下载的网址我们可以知道,这个EasyExplore是由EasyStruts项目组开发的。在开发基本Struts应用程序时,相信很多人都曾经用过EasyStruts的,不过EasyStruts已经很久没有更新了,它的最新版本只支持到Eclipse 2.1。

  不过,从网站上面可以得知,他们正在往3.0上面迁移,支持Eclipse3.x,相信到时又有新的EasyStruts可以用了

你可能感兴趣的:(eclipse,windows,OS,网络应用,OpenSource)