基于 wxWidgets 的 C/C++ IDE CodeLite 2.0 发布

{ 撰文/guest }

对于刚刚接触编程的人来说,Vim 和 Emacs 需要一段时间的学习才能上手,一款 VS 风格的可视化 IDE 还是有必要的。在这里我要介绍的就是这样一款基于 wxWidgets 的跨平台 C/C++ IDE -- CodeLite。

个人比较喜欢 IDE 的补全,就先介绍下曾经使用过的一些 IDE 的补全:

  • OmniCppComplete,Vim 的补全插件,需要 Ctags,对于 Boost 这样大的库,有时一旦我按下快捷键令其补全时,会对 include/boost 文件夹进行扫描,非常慢(我的配置中没有 path 内容,有谁指点我为什么?),有些补全结果集中很多内容不符合上下文。

  • NetBeans,实时分析补全,很强大,不但补全代码,还能补全 include,且代码的补全是根据 include 情况和预定义的预处理进行的(对于条件编译代码,不是一股脑全部进入补全结果集,仅有预处理后真正被编译的部分才进入补全结果集,很强大),需要装个巨大的 Java 平台和一堆依赖。

  • VS 很强大,不能在 Linux 下用。

  • CodeBlocks,同为基于 wxWidgets 的跨平台 C/C++ IDE,发展的也很不错,我经常使用,代码补全似乎也是实时分析的,补全能力也很强,但仅支持预处理的替换(比如 _GLIBCXX_STD 替换成 std),不支持完全的预处理指令。

  • CodeLite:在 1.x 系列中,CodeLite 需手动指定 include 路径生成 tag 数据库,然后指定当前加载哪些库(类似于 Vim + Ctags),到了 2.0 系列中,CodeLite 只需指定 include 路径,而 tags 的生成是根据 #include 指令分析而按需加载的(无需手动生成),与 NetBeans 相似,也可以指定预处理定义,没有 include 的内容也不会进入补全结果集。

另外 CodeLite 集成 wxformBuilder,方便进行 wxWidgets 的 GUI 开发;可以自定义 Makefile 生成命令(比如我先用 cmake 生成 Makefile);集成 Cscope;有类似于 Eclipse 的 quickoutline 和全局符号搜索,方便在当前文件或整个工程中搜索、跳转到定义、声明;使用 continous build 插件,后台自动编译修改的文件,编译错误无需整个工程 build 时就可显示(VS 2010 才有这个)。

如果大家对这个项目感兴趣可以尝试一下。

附上网址:

{ Thanks guest. }

Read More:

29 Comments

  1. 1 helldragon Commented @ 2009-11-19 16:50Reply to this comment

    为啥没有Emacs ,幽怨的飘过(。﹏。)

  2. 2 leenjewel Commented @ 2009-11-19 16:55Reply to this comment

    自动补全是不错,工作效率提高,不过,一路用下来,就一个感觉,离开了自动补全的IDE就好像不会编程了一样,写到“.”之后,就不会往下写了~~~~,之前就遇到过一个小孩来面试,问他python中取得字典的所有key怎么写,那小孩说“嗯,反正字典是有个方法可以直接得到的”,这孩子估计就是自动补全的直接受害者,呵呵

  3. 3 Big Brother Commented @ 2009-11-19 17:06Reply to this comment

    Downloading... Configure... Making... Installing...

  4. 4 zzjian Commented @ 2009-11-19 17:13Reply to this comment

    to leenjewel

    机器能完成的,就让机器作,有什么不好?

  5. 5 guest Commented @ 2009-11-19 17:42Reply to this comment

    @helldragon 抱歉,要安装vim时的源码下载大小约为要安装emacs源码大小的1/5,我使用的是gentoo,所以决定尝试vim而不是emacs...因此我只知道emacs有这个功能,但没具体用过。请使用过emacs的高手“补全”一下emacs的补全功能介绍。

  6. 6 iLRainyday Commented @ 2009-11-19 18:12Reply to this comment

    @leenjewel: 照你的想法,爱因斯坦也不会物理了。因为他老人家很多公式也记不清楚,要翻书的。

  7. 7 flyfeel Commented @ 2009-11-19 18:20Reply to this comment

    俺只用source insight + wine, 其他的都不爽。

  8. 8 hantsy Commented @ 2009-11-19 18:30Reply to this comment

    wxwidgets 的程序现在越来越多,但其界面与原生的gtk界面还是格格不入,。。。

  9. 9 ebird Commented @ 2009-11-19 21:14Reply to this comment

    啊~这个……codeblocks 和 codelite有啥关系啊???

    codeblocks用户飘过~

  10. 10 levon Commented @ 2009-11-19 22:14Reply to this comment

    问一下,eclips不是也可以用来做c的ide吗 我本人也是用netbeans的,很喜欢你夸她

  11. 11 slackcode Commented @ 2009-11-19 22:52Reply to this comment

    我喜欢notepad++

  12. 12 nisy Commented @ 2009-11-19 23:18Reply to this comment

    最近用eclipse,以前觉得不好用,现在用最新版加上一些必要的插件(goto file等等),发现用起来顺手多了,eclipse的插件挺多

  13. 13 Daniel King Commented @ 2009-11-20 0:12Reply to this comment

    qtcreator的自动补全也挺不错的,写qt的程序非常方便,写其它库的程序会写qmake用的pro文件就行了

  14. 14 Daniel King Commented @ 2009-11-20 0:21Reply to this comment

    用了一下codelite,初步感觉良好。怎么感觉codeblocks好久了都没什么改变呢?貌似过几天改几个小bug的样子。

  15. 15 hehehaha Commented @ 2009-11-20 0:32Reply to this comment

    @slackcode: 在公司一直用notepad++,还是相当顺手的,我连自动补全都没用。。。

  16. 16 yymailb Commented @ 2009-11-20 1:37Reply to this comment

    VIM飘过~~~~~

  17. 17 Mike Commented @ 2009-11-20 2:55Reply to this comment

    emacs补全的确不爽。不过我也很少用补全。

    emacs里我用gtags补全,不是上下文。但也差不多了。

  18. 18 guest Commented @ 2009-11-20 8:34Reply to this comment

    @levon Eclipse可以用来当作C/C++的IDE,需要安装CDT插件(用PDT还能开发PHP)。在插件的支持下,Eclipse也是很强大的。喜欢Vim的还可以尝试使用Eclipse的vim/emacs插件,用vim/emacs方式来操作。

  19. 19 walter Commented @ 2009-11-20 8:46Reply to this comment

    Codelite的作者最开始是给CodeBlocks写了个插件,不过好像后来不知什么原因,决定自己开发一个IDE。

  20. 20 cx Commented @ 2009-11-20 8:48Reply to this comment

    @leenjewel 还是爱因斯坦说的话,“书上有的公式都不用记”

  21. 21 Daniel King Commented @ 2009-11-20 9:00Reply to this comment

    写了个for archlinux的PKGBUILD,第一次写PKGBUILD,不知道有没有问题

    http://aur.archlinux.org/packages.php?ID=32119

  22. 22 firefoxmmx Commented @ 2009-11-20 12:19Reply to this comment

    VIM 向EMACS转型的飘过。 LINUX下面, VIM/EMACS做程序开发才是王道。一切IDE都是水货。 鉴定完毕。

  23. 23 wsw1wsw2 Commented @ 2009-11-20 15:32Reply to this comment

    emacs 不是有个cedet吗? 在GNU emacs 24中将包含进标准版发布。

    补全嘛,semantic确实很强大,但是几乎没有好的文档,也就是说不懂elisp的用户几乎不会很好的配置,那使用的效果也就可想而知了。

    ECB嘛,现代IDE用得多的用户肯定看不顺眼,如果你始终记得“emacs是一个基于字符界面的人机接口”的话,也许会饶恕ECB的。

    VIM,加上些插件,ctags,基本可以顺利代替IDE。

    我觉的编程和学数学一个道理,数学原理很简单的理解了,为什么还要做这么多的题目? 熟练记住这些定理嘛! 编程呢,一些数据结构成员、某个文件在代码树中的位置,也是要记住的。(我们不是玩艺术,而是搞工程,工程嘛就是这么回事)

    使个顺手的编辑器,开2-3个窗口,对照着各个数据结构写代码就可以了,有弄semantic的功夫,我把这些结构都可以记住了。

  24. 24 applesnake Commented @ 2009-11-20 15:59Reply to this comment

    emacs用户飘过~~~~ 自动补全还不如开几个窗口对比着看方便。

  25. 25 kidfruit Commented @ 2009-11-20 22:17Reply to this comment

    @firefoxmmx: 那M$、IBM、SUN、Apple花那么多钱做IDE都是吃饱了撑着? VIM/Emacs做功能没问题,做界面那就是悲剧。用VIM做个Qt程序,和用Qt Creator做,时间成本相差太多,当你还在考虑坐标设为多少的时候,别人已经在写功能了。 为什么总是有人喜欢用诋毁其他工具的方式标榜自己?

  26. 26 Mike Commented @ 2009-11-21 12:40Reply to this comment

    @kidfruit: Sun那个ide挺不错的,嗯。

    不过,还是习惯emacs啊。。。呵呵。ide有ide的用途。。。

  27. 27 kidfruit Commented @ 2009-11-21 18:05Reply to this comment

    @Mike:

    赞成。各种工具既然会开发出来说明有其需求所在。vim和emacs当然很优秀,我也是用vim的。只是有些人觉得用vim或emacs就比用IDE高一等的想法很恶心。仅仅因为自己不需要或不了解就妄加指责是很幼稚的。

  28. 28 ebird Commented @ 2009-11-26 9:19Reply to this comment

    用了几天,感觉还行,不过可能由于习惯了codeblocks,感觉codelite有几个地方比较别扭~不知道是不会用还是就这样:1.创建的动态库工程,好像默认不给加-fPIC,自己加了也不好使,不知道是不是bug,不解。而且这个工程默认生成的文件名竟然也不是lib开头。 2.发现ctrl+shift+c也可以注释代码,但是是c风格的~codeblocks是++风格的…… 3.codeblocks生成的.h有guard宏,codelite则没有……

    希望各位能告知怎么设置可以达到cb的那种功能...

  29. 29 ebird Commented @ 2009-11-26 9:21Reply to this comment

    说错了,“动态库工程,好像默认不给加-fPIC,自己加了也不好使”的好像是cb...不是lite……汗