• 06 六 2009 /  互联网技术 No Comments

    首先,探索新鲜事物是有风险的;一个下午时间,工作用的SVN库内容被我搞乱了一点,我本机的代码被误删,这些血的代价换回的是一个整合的开发体验。我将我在开发中用到的几乎所有的内容都整合到Eclipse中了,有点爽。

    先介绍我开发时会用什么,php、python、actionscript、javascript是最近常用的几种语言,用SVN做代码库,Trac进行文档编写和bug管理以及任务分配。因为主要是Web应用,所以nginx做为web server通过fastcgi连接php和python,基本上调试是在开发服务器上完成的,本机也可,但是我的确比较烦windows下这些环境的配置。所以时不时要通过ssh来传送文件到远程的开发服务器上。

    再来讲讲Eclipse,这厮也不是什么新鲜东西了,n年前就听说几大巨头共同投资开发了这样的一个开源的集成开发环境(IDE),当年初次体验时没有什么感觉,那时候还主要用于java或者C/C++的开发,附带的插件还很少。也许Java的fans追捧的比较多。我长时间开始使用Eclipse是因为做一些Flex的项目,Flex Builder本身就是一个Eclipse的变种,被Adobe公司优化后,在那个时候相比直接下载的Eclipse来讲,好用很多,毕竟这个东西是卖钱的,不好用能行嘛。Flex项目完成后对Eclipse的感觉也加深了,总想将php开发的环境也迁移过来,我印象中触动我的新闻消息是Zend Studio也做了Eclipse的版本。但是直到今天前,我还觉得整合不是很完善,也许是没有踏实下来用,也许是插件发展还没有跟上我的要求。

    于是今天,我再次弄了一下这个东西,发现最近一段时间它的插件跟进速度很快,基本上可以满足我上述所有的要求,当然也许是我终于踏实下来研究了一下。下面是配置的一些流程以及一些配置注意项,正常情况下,如果没有什么异常,Eclipse配置好后就可以在windows、linux、mac下完成主流语言的开发、调试工作,并且可以将项目代码通过SVN来共享,并且可以管理自己的Todo list以及Trac上的ticket。怎么样,听起来是不是很爽?ok,如果你不想在试验体验时有血的代价,听好我的流程和注意项,Let’s go!

    访问http://www.eclipse.org/downloads/下载Java Developers版本,这个版本相对比较小一点,预装的东西少一点,后续按需自己安装插件嘛。一开始我选择了Classic版本,也没有什么问题,但是因为增加了所有功能的源代码以及Eclipse开发文档、插件开发库等东西,导致这个软件包比较大,大的坏处是下载很慢并且程序启动的时候因为加载很多无谓的东西导致很慢。所以一切你自己需要来选择初始版本。

    下载后解压到你希望它存在的目录就可以了,然后进入目录,运行eclipse.exe,如果你是其它操作系统的,就照着类似的方法安装启动就可以了。第一次启动会让你选择默认的项目工作目录(workspace),你可以每次都选择来切换不同的工作目录,也可以默认死一个,一个工作目录可以包含多个项目。这里要注意的是未来工作目录下的项目目录是会在建立或者导入项目时清空目录中的内容的,所以未来设置项目路径或者选择工作目录都要小心,我的文件就是这么被误删的,呜呜~~~~

    启动界面如图,默认是一个欢迎界面

    eclipse welcome windows

    可以关闭这个欢迎界面,以后要再想看的话,在目录help->welcome中激活,先不要研究这个,直接切入主题。我们先安装php的开发插件。

    访问这个地址http://www.phpeclipse.com/wiki/Installation,选择你所需要的update源,复制地址,例如我选择的是http://update.phpeclipse.net/update/stable/1.2.x,然后回到Eclipse中,选择目录help->Software Updates,如下图所示将update源地址添加进入更新列表中,然后就可以在列表中选择新安装或者更新的软件包了。

    eclipse add update site

    点击列表左侧每一项前面的加号,就可以展开看到可以安装的软件包,勾选你需要的,对于php来讲,选择全部,然后选择右面的install按钮,等待一会儿会再跟你确认是新装还是update,再次确认后就开始实际的下载安装了。这里我没有考虑网络太慢的原因,如果你实在受不了的话,可以找个地方先下载好软件包,然后还是在这个add site的地方加入,只是选择右面的local按钮选择本地文件罢了。

    好,在建议下重启eclipse以后,你会发现多了一些小东西,首先可以new php的project了,如果你在菜单file->new下无法看到默认的php project不要紧张,直接选择new project也可以,这时候创建项目的向导程序可以允许你选PHP目录下的php project,接下来的事情跟着向导程序一步步走就可以了,你就可以轻松建立一个php的项目了。

    php项目会进入php视图,如果没有的话,可以在菜单windows->open perspective->other里面选到,选好以后应该能发现菜单下多了一排小图标。这里用到的是一个开发环境简化安装的项目XAMPP。phpeclipse可以和xampp联动,做到在开发界面中重启例如apache、mysql等相关的服务,十分方便。不过,我不用XAMPP所以暂时没有研究它怎么调用我自己配置的开发环境。

    同样道理,我们参考上面的流程来安装python的开发插件。我选择的是PyDev,访问http://pydev.sourceforge.net/download.html页面来选择合适的update节点地址,拷贝下来还是到添加站点的地方添加,并且选择安装软件包,稍等片刻后就会安装好。重启后需要做一个配置来映射系统的python解析器,访问菜单Windows->Perferences->Pydev->Interpreter下,如图所示:

    eclipse config pydev

    选择右上角new一个新的python interpreter,起一个名字并且指定python.exe所在的路径,确认后就和上面的截图效果一样,会配置好所有的python库的路径,如果你要添加额外的库,也可以在下面这个框里面添加。至此pydev的设置也都ok了,创建项目和php的那个流程一样。我想其它语言你只要能找到它的插件,按照这个流程安装都应该可以支持。下面我们来说一些辅助的功能,eclipse与svn结合。

    Eclipse默认只有CVS的支持,svn毕竟是一个新东西,但是它的确比cvs好用,所以一直期待这个插件,这次我能完美的安装并使用这个插件了,安装流程和上述的流程都是一样的,非常简单,只是有一个概念要搞清楚。eclipse网站展示的只是svn插件的部分,让它顺利运行还需要安装一个第三方的svn connector接口以及选择一个connector实现。下面两个连接分别是插件和connector的update地址。

    http://download.eclipse.org/technology/subversive/0.7/update-site/

    http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/

    安装好重启后可以在新建项目的时候选择Project from svn,这样就可以从svn直接checkout出来一个项目来开发程序了。需要特别注意的是,如果你不选择默认项目work space,你一定要自己制定项目的子目录,如果你选择了一个workspace但并没有选择子目录的话,它会在建立项目时将选择的目录内的所有内容都删除了!我就被删了我所有的开发代码。

    还有要注意的是,如果你直接将你现在的项目import到svn,它会将你当前项目当做目录import进去,所以不要而外再起一个svn的子目录名字了,不然就会多了一层,很乱。

    Eclipse默认还安装了 Mylyn的模块,它基本上是一个开发时的任务管理器,它可以和代码相关,比如你在代码注释里填写TODO:xxxx,它就会自动提取这个把它变成一个todolist。更加增强的是,如果你选择安装mylyn的trac插件,你还可以随时调用trac里面的ticket来做bug或者任务管理。因为目前跟trac 0.11.3的配合还不是太好,需要下载一些patch才能work,所以这部分我打算日后单独写一篇文档来描述,下面只是列出Mylyn的trac插件update地址。

    http://download.eclipse.org/tools/mylyn/update/extras

    总结:Eclipse是名副其实的综合IDE工具,因为它开源的特性导致会有更多的人提供基于它的开发工具特性,它也就会支持更多的开发语言或者开发领域。熟悉这个工具非常值得,因此希望大家玩得开心,happy coding!

    Posted by 羽高 @ 22:38

    Tags: , , , ,

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.