基于 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 才有这个)。
如果大家对这个项目感兴趣可以尝试一下。
附上网址:
- CodeLite
- CodeBlocks (推荐使用其 nightly build)
{ Thanks guest. }
Read More:
为啥没有Emacs ,幽怨的飘过(。﹏。)
自动补全是不错,工作效率提高,不过,一路用下来,就一个感觉,离开了自动补全的IDE就好像不会编程了一样,写到“.”之后,就不会往下写了~~~~,之前就遇到过一个小孩来面试,问他python中取得字典的所有key怎么写,那小孩说“嗯,反正字典是有个方法可以直接得到的”,这孩子估计就是自动补全的直接受害者,呵呵
Downloading... Configure... Making... Installing...
to leenjewel
机器能完成的,就让机器作,有什么不好?
@helldragon 抱歉,要安装vim时的源码下载大小约为要安装emacs源码大小的1/5,我使用的是gentoo,所以决定尝试vim而不是emacs...因此我只知道emacs有这个功能,但没具体用过。请使用过emacs的高手“补全”一下emacs的补全功能介绍。
@leenjewel: 照你的想法,爱因斯坦也不会物理了。因为他老人家很多公式也记不清楚,要翻书的。
俺只用source insight + wine, 其他的都不爽。
wxwidgets 的程序现在越来越多,但其界面与原生的gtk界面还是格格不入,。。。
啊~这个……codeblocks 和 codelite有啥关系啊???
codeblocks用户飘过~
问一下,eclips不是也可以用来做c的ide吗 我本人也是用netbeans的,很喜欢你夸她
我喜欢notepad++
最近用eclipse,以前觉得不好用,现在用最新版加上一些必要的插件(goto file等等),发现用起来顺手多了,eclipse的插件挺多
qtcreator的自动补全也挺不错的,写qt的程序非常方便,写其它库的程序会写qmake用的pro文件就行了
用了一下codelite,初步感觉良好。怎么感觉codeblocks好久了都没什么改变呢?貌似过几天改几个小bug的样子。
@slackcode: 在公司一直用notepad++,还是相当顺手的,我连自动补全都没用。。。
VIM飘过~~~~~
emacs补全的确不爽。不过我也很少用补全。
emacs里我用gtags补全,不是上下文。但也差不多了。
@levon Eclipse可以用来当作C/C++的IDE,需要安装CDT插件(用PDT还能开发PHP)。在插件的支持下,Eclipse也是很强大的。喜欢Vim的还可以尝试使用Eclipse的vim/emacs插件,用vim/emacs方式来操作。
Codelite的作者最开始是给CodeBlocks写了个插件,不过好像后来不知什么原因,决定自己开发一个IDE。
@leenjewel 还是爱因斯坦说的话,“书上有的公式都不用记”
写了个for archlinux的PKGBUILD,第一次写PKGBUILD,不知道有没有问题
http://aur.archlinux.org/packages.php?ID=32119
VIM 向EMACS转型的飘过。 LINUX下面, VIM/EMACS做程序开发才是王道。一切IDE都是水货。 鉴定完毕。
emacs 不是有个cedet吗? 在GNU emacs 24中将包含进标准版发布。
补全嘛,semantic确实很强大,但是几乎没有好的文档,也就是说不懂elisp的用户几乎不会很好的配置,那使用的效果也就可想而知了。
ECB嘛,现代IDE用得多的用户肯定看不顺眼,如果你始终记得“emacs是一个基于字符界面的人机接口”的话,也许会饶恕ECB的。
VIM,加上些插件,ctags,基本可以顺利代替IDE。
我觉的编程和学数学一个道理,数学原理很简单的理解了,为什么还要做这么多的题目? 熟练记住这些定理嘛! 编程呢,一些数据结构成员、某个文件在代码树中的位置,也是要记住的。(我们不是玩艺术,而是搞工程,工程嘛就是这么回事)
使个顺手的编辑器,开2-3个窗口,对照着各个数据结构写代码就可以了,有弄semantic的功夫,我把这些结构都可以记住了。
emacs用户飘过~~~~ 自动补全还不如开几个窗口对比着看方便。
@firefoxmmx: 那M$、IBM、SUN、Apple花那么多钱做IDE都是吃饱了撑着? VIM/Emacs做功能没问题,做界面那就是悲剧。用VIM做个Qt程序,和用Qt Creator做,时间成本相差太多,当你还在考虑坐标设为多少的时候,别人已经在写功能了。 为什么总是有人喜欢用诋毁其他工具的方式标榜自己?
@kidfruit: Sun那个ide挺不错的,嗯。
不过,还是习惯emacs啊。。。呵呵。ide有ide的用途。。。
@Mike:
赞成。各种工具既然会开发出来说明有其需求所在。vim和emacs当然很优秀,我也是用vim的。只是有些人觉得用vim或emacs就比用IDE高一等的想法很恶心。仅仅因为自己不需要或不了解就妄加指责是很幼稚的。
用了几天,感觉还行,不过可能由于习惯了codeblocks,感觉codelite有几个地方比较别扭~不知道是不会用还是就这样:1.创建的动态库工程,好像默认不给加-fPIC,自己加了也不好使,不知道是不是bug,不解。而且这个工程默认生成的文件名竟然也不是lib开头。 2.发现ctrl+shift+c也可以注释代码,但是是c风格的~codeblocks是++风格的…… 3.codeblocks生成的.h有guard宏,codelite则没有……
希望各位能告知怎么设置可以达到cb的那种功能...
说错了,“动态库工程,好像默认不给加-fPIC,自己加了也不好使”的好像是cb...不是lite……汗