EditorVsIDE

不管是初学编程的菜鸟还是已臻化境的高手,他们都会有一个共同的爱好,那就是寻觅更好的Editor或者IDE。每当有一款新的编辑器问世,总是有无数的程序员身先士卒充当小白鼠。总会听到有人说,我最近开始捣鼓xxx了,丫真是太牛b了。那么我们是应该选择Editor还是IDE充当开发环境这一角色呢?不妨让我们来列出他们的功能吧:

对于一个现代的Editor来说,它理应具备如下基本功能:

  1. 词法高亮(最基本的一点)

  2. 代码格式化

  3. 标签页浏览

  4. 代码折叠(不一定)

而IDE作为集成开发环境,除了必须具备Editor的功能外,还要有:

  1. 代码自动完成

  2. 函数视图

  3. 项目管理

  4. 版本控制

  5. 代码调试

从上面的对比中我们可以看出,编辑器的重点在于代码的编写上,而IDE的重点在于项目的控制上。但是他们两者之间的界限已经日趋模糊,很多Editor都具备了相当强大的功能,比如说Slickedit,这款标称自己为Editor的软件看上去比某些IDE还要强大。但大多数Editor强调的还是简单以及速度,打开文档的速度已经成为衡量一个优秀编辑器重要标准。

有一个很有意思的现象,很多人在公司工作时都会使用IDE,而回到家捣鼓自己的东西时则会选择Editor。其实这很符合两者的特性,在公司需要站在项目的高度,集成开发环境是最好的选择。而自己的东西心里都清楚,用编辑器足矣。

我的很多同事喜欢用Vim(本人在linux下也是使用它),这是一款linux下很优秀的编辑器,拥有众多的插件以及骨灰级的粉丝,因为有了GVim,使得其在图形环境使用成为了可能。根据本人的慎重调查,使用Vim的人群除了Vim本身非常强大之外,还会产生一种奇妙的感觉,就是使用它之后自己会成为高手。这是一种很伟大的感觉,一种能让人产生信仰的编辑器,这是我对Vim的评价。

我本人对在Windows下使用Vim不太感冒,虽然很多同事总是不厌其烦的为我推荐其强大的功能。但我一直不为所动,因为我有更好的选择,那就是Scite,它是继承自scintilla的原生开源编辑器项目。Scintilla是一个在编辑器界鼎鼎大名的开源代码渲染引擎,很多大家熟知的编辑器都是基于它的内核,比如Notepad++。

Scite本身非常小巧,不带其它配置文件的独立文件只是一个400多k的可执行文件,第一眼看上去就像是一个加了tab页的记事本。但是经过一系列配置后,你就能拥有一个完全个性化的编辑器,需要指出的是这些设置不是图形化的,而是需要修改配置文件。得益于Scintilla的大名,scite的配置方法在网络上比比皆是。其本身对PHP的高亮支持很好,加上其他达人所写的api文件,真是太爽了。

对于IDE,本人原来做桌面编程用过c++ builder,delphi,VS等等。后来做PHP开发,开始用eclipse,中间也用过一段时间的ZDE,但出于对开源项目的情节,以及后来推出的PDT的强大功能,我还是选择了eclipse作为IDE的首选。Eclipse PDT已经可以完全满足我的工作需要,而且eclipse对svn的支持很好,这就让我更没有理由拒绝这一款优秀的IDE了。

说了这么多,还是没有回答文章标题提出的问题。要做出这个选择太难了,而且跟一个人的心情好像还有点关系。好了,谢谢大家的收看,咱们下一集再见。