现在真是深深的为IDE所苦啊。

基本来说,现在用的IDE有几种,eclipse,MSVC,Anjuta,MingStudio,Code::Blocks。不过都有毛病。

eclipse好用的很,功能齐全,插件多,支持多,跨平台。可惜开发Java是本行,C就稍微有点小毛病,而且消耗资源太大。MSVC也是功能强大,可惜Linux下面没法用,而且不支持CVS。Anjuta只是Linux下面的开发程序,而且使用了Automake和Autoconf。MingStudio不开源,Code::Blocks编译困难。

不过想想也是,IDE都又好用又免费了,M$要$哪个去?

其中唯一好用点的也就是Code::Blocks了。前两天看一个论坛上说Code::Blocks是针对单语言的,所以要用Anjuta。我立刻喷笑。说起来一个人能会多少语言呢?三种?五种?要真的是多语言,不如用Eclipse或者Emacs。Eclipse支持Java/C++/Php,Emacs配置好了啥都支持。问题是支持多了,效果就差了。Eclipse在支持C++上就和MSVC没的比。

要比较一个IDE,基本来说是比较三个方面,自动写作,生成和版本管理,统一化测试/调试。

自动写作有四个主要方面,自动完成,符号提示,参数提示,自动格式化。说明白点,自动完成,就是使用某个范围的某个东西,例如变量或者方法。在写好范围(例如对象名或者类名)后会提示这个东西的名字。好比写了::Messa就基本可以自动给出::MessageBox。符号提示则更加智能些,在写作的时候自动判断当前最可能使用的对象并且给出提示。参数提示是指调用函数的时候提示应该传入的参数类型和个数,当然也有自动将最可能的变量传入的例子。自动格式化,就是乱糟糟的代码自动格式整齐。针对C++来说,MSVC可以自动完成,符号提示,参数提示,外挂插件可以自动格式化。Eclipse可以自动完成,参数提示(这就是那个自动填写最可能参数的例子),外挂插件可以自动格式化。Anjuta和Code::Blocks没用过,不过Code::Blocks可以外挂插件格式化。

生成和版本管理来说,MSVC,Code::Blocks和Eclipse用的是自身的格式,脱离了IDE基本就没用了。Anjuta用的是Autoconf和Automake,即使没有IDE也可以编译。便于跨语言和发行原码包。

统一化测试/调试来说,基本都有行调试的功能,不过都不带测试工具的。