红联Linux门户
Linux帮助

CodeBlocks碎碎念

发布时间:2008-08-21 16:07:00来源:红联作者:auto
  最初开始用Codeblocks是因为在Linux下面找替代Visual Studio的C/C++开发环境,找来找去其中之一就是Codeblocks。从最开始用CB到现在似乎已经一年多了,最终在Linux下写程序还是觉得用Vim+Makefile顺手一些,CB也就放在那里基本上没怎么用过。前段时间自己的VS2005因为和卡巴斯基冲突,一编译就会死机,于是又换上了最新版的CB用了一段时间,也就写出这篇??嗦嗦的东西。

  CB作为一个IDE支持一大把的编译器,包括最常用的gcc和VC系列。我在windows和ubuntu下安装都能自动找到系统里面已经安装的gcc,不需要任何设置。

  CB的界面使用wxWidget写的,设计中规中距。在Windows下使用的时候没有遇到任何问题,但是在Linux下仍然有一些小Bug存在。

  用下来感觉它给人感觉最直接的特点之一就是预置了大量的项目模板,包括OpenGL,wxWidget,DirectX甚至Ogre, Irrlicht游戏引擎项目这种东西都可以找到模板,能节省不少时间。在Ubuntu下的时候使用这些模板甚至什么都不需要做CB就知道该引用哪个库,包含哪些头文件路径。相比之下在Windows下则需要设置相应的库的安装地址。

  另外一个有意思的地方就是CB支持插件扩展。虽然现在的插件还没有正式在官方主页上提供下载,但是在CB的Wiki上还是能找到不少有意思的插件。比如说统计项目中代码行数,测试正则表达式的插件都很有用(里面甚至还有俄罗斯方块的插件,打开一个页面可以在里面玩游戏...)。联想到FireFox由插件带来的强大功能扩展,不禁开始YY如果CB的插件成熟以后是不是也可以把它打造成万能IDE。

  对于用wxWidget写界面的人来说CB还有另外一个吸引人的一点,就是它通过wxSmith插件可以作为一个RAD工具来用。不过这个插件还算不上成熟,只支持wxWidget的部分特性,而且生成的代码有可能会覆盖掉你的人工修改。比起Delphi, VS2005之流还是有很大差距。

  虽然在开源IDE里面算是佼佼者,但是最后我还是没有用它来做开发,因为CB还是有很多不算严重但却很影响效率的缺点。

  让人很无语的一点是CB居然不能同时编辑两个代码文件。在写代码的时候经常需要同时打开多份代码,相互对照着进行修改,但是这么一个看似简单的功能在CB里面居然没有实现。在官方论坛里面逛了逛,发现是因为wxWidget在界面实现上面要做到这一点很困难。已经有一卡车人吵着要这个功能,但是到现在它也没能实现。

  另外一个让人无法忍受的地方就是它的调试界面太别扭了。在Visual Studio 2005里面调试一个项目时,你只需要把鼠标指到一个变量上它就能显示出变量的值。VS还能自动把当前活跃的变量添到一个窗口里面而不需要一个个的添到Watch里面。相比之下CB的调试界面实在是设计的不好使。每添加一个变量都需要右键然后输入变量名,而不是VS2005里面的直接键入。这在需要添加一堆变量的时候尤其让人觉得恼火。同样的,当你想要改变一个变量的值的时候你还是需要郁闷的多点一下鼠标右键,而不是直接在Watch里面就可以更改。原本以为选中Watch中的变量按一下Delete就可以删掉,结果发现还是得通过那个烦人的右键菜单。这种问题说大不大,但是真是很影响调试时的效率。我用几分钟这个调试就迫不及待的想换到VS2005里面去了。

  最后一个小怨念就是CB的界面仍然不够灵活。在VS2005, Eclipse这样的IDE中我可以把子窗口拖出来或者嵌入到主窗口的几乎任何地方。然而在CB中却不行。我无法把Call Stack窗口拖下来作为另外一个子窗口的标签,而只能让他们平行的挤在一起。这对于低分辨率的人来说是很尴尬的一件事情(而分辨率太高的家伙因为不能同时编辑多个文件也只能忍受屏幕上大量空间被浪费)。

  CB作为SourceForge的社区最佳选择奖的获得者,自然是有自己的一套。在Linux下面它是我用过最好的IDE了,不过因为上面说的一些怨念,我还是得用Vim来写自己的程序。而在Windows下面我则更愿意用成熟的VS2005,经管它很臃肿。CB的团队一直在积极地进行着开发,每天晚上他们都会有一个nighty build版本在论坛上面发布。希望他们能够早日让CB成熟起来,让我不会想念VS2005。
文章评论

共有 1 条评论

  1. lemonade 于 2008-08-21 23:02:42发表:

    与楼主有同感!