现在的位置: 首页 > 综合 > 正文

理想的集成开发环境所需要具备的

2013年08月10日 ⁄ 综合 ⁄ 共 2416字 ⁄ 字号 评论关闭
这些天一直在各种开发平台上用各种语言进行开发的尝试,并 深深地感觉到一个好的开发环境对提升工作效率有莫大的帮助。不过现实也比较残酷,虽然有那么多种开发环境,但是都有不足的地方。下面说说我理想中的IDE所需要具备的基本特性,顺便一提现在各种开发环境的优缺点。

1. 界面美观简洁易用

一般说来就是界面以实用为主,编辑区域够大。乱七八糟的工具栏多也没关系,不过要能够折叠,要是能够有各种窗体布局可以切换就更好。另外,快捷键也是很重要的,要是绝大部分功能都能用快捷键完成就完美了。这里要说的是,Java的IDE包括Eclipse和NetBeans在这一点上都做的非常不好,图标、菜单、tab标签、状态栏巨大无比,毫无意义地占去了编辑器的空间。这点上要好好向Emacs和Visual Studio学习。UltraEdit, SlickEdit在这点上也都不错。还有一个要注意的就是编辑器的字体,VS可以直接支持ClearType,Eclipse和NetBeans通过安装JRE6也支持ClearType。Emacs居然不支持,我查了下FAQ,说是本来11.1支持的,后来有Bug改不掉,11.3以后去掉了,ft。

2.运行速度要快,占用资源要少

尤其是在编写代码的时候,IDE运行缓慢会让程序员心情不爽,大大影响开发效率:)尤其是代码编辑器,键入代码都慢慢吞吞才显示出来,哪还有心情用这个东西写程序?用Java做的IDE全线不符合要求。最差的就是Eclipse,代码智能感知和语法建议奇慢无比,键入代码的时候也能感觉到稍微有点停滞,总之是极其不爽。NetBeans稍好,不过也就是50步笑百步的水平。用C/C++写的IDE在这点上都表现不错。

3.代码高亮、感知和自动补全

这是现代IDE的一组新特性,能高亮显示代码中的关键字、常量等,在调用函数时提示函数签名,在输入语句块时自动补全语句块。代码高亮这一点基本上所有IDE都有了,差距主要是在代码感知和自动补全上。UE的自动补全没有基于语法分析,能自动感知的就是用户输入过的部分。Emacs在没装插件的时候也是这样,装了插件据说NB无比。Eclipse的这组特性还过得去,主要问题是速度太慢,等提示框出来都可以去喝杯茶了。NetBeans就快多了,而且提示窗口也比较美观,不像Eclipse一出来是个那么沉重的宽边框。以上这些碰到了Visual Studio基本就全线溃败,尤其是VS 2005。以前的VS在加上了VA以后IntelliSense才会很得心应手,到了2005,微软基本把IntelliSense做完了,以后各家厂商要做的话,照着VS2005学就好了。

4.编译及调试环境

其实也就是在IDE内可以直接编译和调试代码。这包括两个方面,第一是对Make和Ant这类构建工具的支持情况。第二就是调试器的整合情况。这两点来说现有开发环境各有优缺点。VS基本不支持Make和Ant,用的是自己内置的一套Build工具,简单点的工程还成,复杂的点工程不可想象。调试上VS基本上算是能有的都有了,断点、修改后继续执行、监视、汇编等等,唯一不足的就是VS2005没法监视COM对象的成员,而VB6都有这个功能。NetBeans和Ant集成得不错,不过复杂一点的Ant脚本它自己就没法Parse了,比如说ant脚本指定了依赖关系,你还得在NetBeans里另外再设置一次依赖关系,否则代码感知就不管用了。Eclipse的情况也类似。Emacs对于Make的支持基本和用命令行差不多,对调试的支持也就是给GDB做了个GUI。不过比起UE要好多了,UE就是给Make和GCC当Shell用了。

5.扩展机制完备,插件丰富

扩展能力现在被作为很重要的一个评价IDE的标准。Eclipse和NetBeans拼的主要就是扩展能力,现阶段NetBeans在插件数量上还有较大的劣势。虽然VS不标榜扩展能力,但是无处不在的COM和XML让它同样具有很强的定制性,只是大家不注意罢了。Emacs更牛,其实Emacs本身就只是Lisp的一个解释环境而已,做IDE只是它的副业,网上的扩展多得数不清楚。像UE和SlickEdit这样的扩展能力就差了一点,不过好在UE主要做的是编辑器。

6.源代码管理

源代码管理在现代软件开发中也是必不可少的部分。理想的IDE至少需要能和源代码管理软件无缝集成,在IDE中就能进行Update、Commit等操作。光说源代码管理的功能,VS做得非常完整,集成得也很好,问题是它只支持自家的VSS,对于CVS和Subversion不支持。Eclipse和NetBeans都有相应插件支持CVS和Subversion,集成得也不错,不过NetBeans5.5似乎对有些svn不支持。Emacs似乎也有插件支持CVS和Subversion,我看过没用过。UE这个编辑器就不要强求太多。

7.大纲和折叠

当你在读或者写很长代码的时候,代码大纲和代码折叠是最好的武器,让你能轻松的找到你想要的代码片段。幸好这一点上所有IDE都做得不错,NetBeans的Ctrl+点击直接跳转的方式值得称赞。

8.总结

上面七点就是我理想中的IDE所需要具备的基本特征。从这些方面看VS2005无疑是最优秀的。Java Fans有的时候对VS不以为然,但是VS在速度、代码感知和一些细节方面的优势是Eclipse和NetBeans不能比的。最大的问题在与VS只能运行在Windows下。如果在Linux下写程序怎么办?幸好我们有万能的Emacs,除了界面不太美观,字体不太好看之外,Emacs强得不但不像个代码编辑器,而且已经不像个IDE了,可惜它高端了一点,一般用户得好好学习一下。最后,对于在Windows下写C/C++的人来说,SlickEdit值得推荐,它有一个优秀C/C++编辑器所需要有的一切。我认为对于写C/C++来说,它已超越了VS。

抱歉!评论已关闭.