CodeLite可以媲美Code::Blocks Topic is solved
CodeLite可以媲美Code::Blocks
CodeLite简单就是为wxWidgets/wxFormBuilder用户量身打造!
当然,也可以用在普通的C++工程或C工程中。
亮点:
1. 代码自动完成功能很强大
2. 仿VS,很容易上手
3. 界面更友好
当然,也可以用在普通的C++工程或C工程中。
亮点:
1. 代码自动完成功能很强大
2. 仿VS,很容易上手
3. 界面更友好
Life is not fair, get used to it.
CodeLite简单就是为wxWidgets/wxFormBuilder用户量身打造!
当然,也可以用在普通的C++工程或C工程中。
亮点:
1. 代码自动完成功能很强大
2. 仿VS,很容易上手[separator]
3. 界面更友好
4. 与Subversion集成
5. 与wxFormBuilder集成
6. 函数跳转功能强大
另,自动完成功能依赖于Tags,可以选择目录让codelite自己建立 函数的索引文件;要是觉得它的Tools Bar太大用的不爽的话Settings-> Misc -> Tool Bar use small icons,顺便把 Use Single 勾上。
几个常用方法如下:
1.ctrl+shift+r 在工程中快速打开文件,只需输入文件前几个字母即可
2.ctrl+shift+t 在工程中查找symbol
3.ctrl+shift+f 在工程中搜索,也可指定搜索的文件夹
4.点击工具栏的“highlight word”按钮,这样当鼠标选择文本中的word时,相同的word将被高亮显示,对跟踪变量很有用
5.设置字体,只需设置“global font”,其他字体依赖于global font
6.建立工程,代码的根目录对应workspace,每个子目录对应一个project,这样可以避免codelite建立tags库速度慢的缺点
自由软件的好处就是想到的功能他就会加上,不像商业软件,某些必需的功能,压着迟迟不发布,用户只能一版一版地升级,耐心地等待其把功能加全,我不知道 ue 哪个版本才会把#if 0语法支持的功能加上。我预言codelite将是一个标志性软件,相当于又一个firefox,很快就会流行起来。
其主页可能被和协了,不过可以通过免费在线代理来访问:
1. 输入:http://www.unblockprox.com
2. 访问:http://www.codelite.org
CodeLite已经进入Ubuntu 9.04的源,而Code::Blocks没有。
总体上感觉,Code::Blocks做的泛而不精;CodeLite做的精而不泛,大家各取所需吧。
当然,也可以用在普通的C++工程或C工程中。
亮点:
1. 代码自动完成功能很强大
2. 仿VS,很容易上手[separator]
3. 界面更友好
4. 与Subversion集成
5. 与wxFormBuilder集成
6. 函数跳转功能强大
另,自动完成功能依赖于Tags,可以选择目录让codelite自己建立 函数的索引文件;要是觉得它的Tools Bar太大用的不爽的话Settings-> Misc -> Tool Bar use small icons,顺便把 Use Single 勾上。
几个常用方法如下:
1.ctrl+shift+r 在工程中快速打开文件,只需输入文件前几个字母即可
2.ctrl+shift+t 在工程中查找symbol
3.ctrl+shift+f 在工程中搜索,也可指定搜索的文件夹
4.点击工具栏的“highlight word”按钮,这样当鼠标选择文本中的word时,相同的word将被高亮显示,对跟踪变量很有用
5.设置字体,只需设置“global font”,其他字体依赖于global font
6.建立工程,代码的根目录对应workspace,每个子目录对应一个project,这样可以避免codelite建立tags库速度慢的缺点
自由软件的好处就是想到的功能他就会加上,不像商业软件,某些必需的功能,压着迟迟不发布,用户只能一版一版地升级,耐心地等待其把功能加全,我不知道 ue 哪个版本才会把#if 0语法支持的功能加上。我预言codelite将是一个标志性软件,相当于又一个firefox,很快就会流行起来。
其主页可能被和协了,不过可以通过免费在线代理来访问:
1. 输入:http://www.unblockprox.com
2. 访问:http://www.codelite.org
CodeLite已经进入Ubuntu 9.04的源,而Code::Blocks没有。
总体上感觉,Code::Blocks做的泛而不精;CodeLite做的精而不泛,大家各取所需吧。
Life is not fair, get used to it.
谢谢Laoden的分享~
-Utensil
-Utensil
In fascination of creating worlds by words, and in pursuit of words behind the world.
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
codeblocks的codecompletion功能,我基本都看懂了,而且写了个wiki,其实总体来说,还是很不错的,我也给开发人员发过patch,总体来说还是很不错的!
看这里:
http://wiki.codeblocks.org/index.php?ti ... ion_Design
看这里:
http://wiki.codeblocks.org/index.php?ti ... ion_Design
ollydbg23 wrote:codeblocks的codecompletion功能,我基本都看懂了,而且写了个wiki,其实总体来说,还是很不错的,我也给开发人员发过patch,总体来说还是很不错的!
看这里:
http://wiki.codeblocks.org/index.php?ti ... ion_Design
拜读完了楼上的wiki,写的实在太好了!而且这个wiki提供了很多很有用的相关资源,我也基本上浏览了一遍。
不过奇怪的是,自从06年左右,就再也没有听说关于code-completion重写之类的事情了。不知ollydbg23是否了解发生了什么?
如果重写的事情的确搁浅了,如果任何人想要改进code-completion,都应该在现有的框架下进行?从wiki来看,这个框架似乎设计的还是很不错的,那么
ollydbg23觉得C::B的code-completion目前的弱势主要集中在什么方面,而这些方面又与哪些类/方法相关?如果能有一个code-completion的改进的guide,那会非常利于大家参与。
个人觉得,如果能有一个新的interface,支持旧的compleion,而且还可以支持其它的complete方式作为backend,如ctags,那就好了~
忍不住再说一次,ollydbg23的wiki写得实在太好了!=D>
-Utensil
In fascination of creating worlds by words, and in pursuit of words behind the world.
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
to Utensil 大牛:
首先感谢你对我的评价,其实我当时看code completion的代码是有原因的。我目前在管理 OpenCV china 的新兵版面。
http://www.opencv.org.cn/forum/viewforum.php?f=1
但是,我在codeblocks下面使用 OpenCV 的时候,发现OpenCV里面的很多函数,它居然不认识,这下让我很是不满,我想一定是他的什么东西有问题,于是我看是研究code completion的代码了。
我本来不是计算机专业出身,一开始遇到了很多问题,比如我一开始连什么叫做 token 都不知道,于是就是 wikipedia上面看一些资料,然后分析代码。后来就基本看懂了,它里面有所谓的 语法分析器和句法分析器等等概念。这些东西可能一个计算机科班出身的人看起来是很容易的事情,呵呵。
大概看懂了语法分析之后,我就开始看它的token的存储结构,到底是怎么存储的,虽然比较困惑,但是这个数据结构大概也看懂了,就是一个tree的结构。
接着我就着手修改了里面的代码,这样子,我就可以漂亮的在codeblocks里面识别所有OpenCV的代码了。(我在codeblocks上面发布过一个patch,我自己电脑上面早就在用了,但是cb的开发者一直没有放入trunk里面)
至于写英文的那个wiki,我想我还是有必要让大家知道当前这个结构的,毕竟自己一个看懂了,分享给大家,才可能让更多的人来帮助和改进codecompletion的功能。
我想说的是,codeblocks里面的codecompletion的功能,主要在处理“宏”上面,还是会有很多问题,因为C语言的“宏”的存在,使得编译过程前多了一个“预编译”的过程,但是code completion扫描代码的时候却不太可能这么干,要不然它太浪费时间了。
这样一来就导致code completion的语法分析多少受到很多限制,特别是遇到很多稀奇古怪的“宏”的时候,就识别不了了。另外一个方面,我也觉得应该学习一下codelite,没有必要每次打开一个项目,都需要重新把所有相关代码都扫描一遍,这还是很浪费时间的。
这一点,用ctag的方式,生成一个所谓的tag数据库应该是一条不错的方法。
cb论坛上面目前cc停止开发的原因,我也说不上来,也许人力有限,也许还是很有技术难度的。(在我看来,移植一套codelite的codecompletion的功能应该不是很麻烦,至少对于目前的这些开发者来说)。
话又说回来,目前的codeblock我觉得已经挺不错了,至少我目前学习和使用调试OpenCV,没有任何问题!
说起来,我对于wxWidgets完全是新手,还是仰仗着 Utensil 的不少有用的帖子,才有所收获的。
也感谢大家!大家共同提高!
首先感谢你对我的评价,其实我当时看code completion的代码是有原因的。我目前在管理 OpenCV china 的新兵版面。
http://www.opencv.org.cn/forum/viewforum.php?f=1
但是,我在codeblocks下面使用 OpenCV 的时候,发现OpenCV里面的很多函数,它居然不认识,这下让我很是不满,我想一定是他的什么东西有问题,于是我看是研究code completion的代码了。
我本来不是计算机专业出身,一开始遇到了很多问题,比如我一开始连什么叫做 token 都不知道,于是就是 wikipedia上面看一些资料,然后分析代码。后来就基本看懂了,它里面有所谓的 语法分析器和句法分析器等等概念。这些东西可能一个计算机科班出身的人看起来是很容易的事情,呵呵。
大概看懂了语法分析之后,我就开始看它的token的存储结构,到底是怎么存储的,虽然比较困惑,但是这个数据结构大概也看懂了,就是一个tree的结构。
接着我就着手修改了里面的代码,这样子,我就可以漂亮的在codeblocks里面识别所有OpenCV的代码了。(我在codeblocks上面发布过一个patch,我自己电脑上面早就在用了,但是cb的开发者一直没有放入trunk里面)
至于写英文的那个wiki,我想我还是有必要让大家知道当前这个结构的,毕竟自己一个看懂了,分享给大家,才可能让更多的人来帮助和改进codecompletion的功能。
我想说的是,codeblocks里面的codecompletion的功能,主要在处理“宏”上面,还是会有很多问题,因为C语言的“宏”的存在,使得编译过程前多了一个“预编译”的过程,但是code completion扫描代码的时候却不太可能这么干,要不然它太浪费时间了。
这样一来就导致code completion的语法分析多少受到很多限制,特别是遇到很多稀奇古怪的“宏”的时候,就识别不了了。另外一个方面,我也觉得应该学习一下codelite,没有必要每次打开一个项目,都需要重新把所有相关代码都扫描一遍,这还是很浪费时间的。
这一点,用ctag的方式,生成一个所谓的tag数据库应该是一条不错的方法。
cb论坛上面目前cc停止开发的原因,我也说不上来,也许人力有限,也许还是很有技术难度的。(在我看来,移植一套codelite的codecompletion的功能应该不是很麻烦,至少对于目前的这些开发者来说)。
话又说回来,目前的codeblock我觉得已经挺不错了,至少我目前学习和使用调试OpenCV,没有任何问题!
说起来,我对于wxWidgets完全是新手,还是仰仗着 Utensil 的不少有用的帖子,才有所收获的。
也感谢大家!大家共同提高!
大牛实在不敢当~一只小蜗牛~很不负责任的一个版主~呵呵~
cb团队可能对CC没有形成一致的意见吧~改变现有的代码是比重新写还要困难的~
我有一个想法,不如我们在GitHub上面建一个这个plugin的分支,开始改善它~
我也不是计算机专业出身哦~握个手~我本来不是计算机专业出身....这些东西可能一个计算机科班出身的人看起来是很容易的事情,呵呵。
能不能够给出这个patch的地址?这样大家都可以应用~接着我就着手修改了里面的代码,这样子,我就可以漂亮的在codeblocks里面识别所有OpenCV的代码了。(我在codeblocks上面发布过一个patch,我自己电脑上面早就在用了,但是cb的开发者一直没有放入trunk里面)
其实宏是否展开来进行语法分析,是需要智能抉择的:有些标识性的宏是不应该展开(往往展开后是空宏),条件编译的识别是一个难点,当内联函数用的宏当然应该展开并分析,事件表的宏又不应该展开。我理想中的IDE对这些都能处理好~不熟悉ctags,不知ctags处理的如何~这样一来就导致code completion的语法分析多少受到很多限制,特别是遇到很多稀奇古怪的“宏”的时候,就识别不了了。
赞同~没有必要每次打开一个项目,都需要重新把所有相关代码都扫描一遍,这还是很浪费时间的。这一点,用ctag的方式,生成一个所谓的tag数据库应该是一条不错的方法。
cb团队可能对CC没有形成一致的意见吧~改变现有的代码是比重新写还要困难的~
我有一个想法,不如我们在GitHub上面建一个这个plugin的分支,开始改善它~
In fascination of creating worlds by words, and in pursuit of words behind the world.
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
今天没有太多的时间回复,睡觉了。。。
patch应该在这里,搜索一下cb的论坛就可以找到。
http://forums.codeblocks.org/index.php/ ... 242.0.html
其他问题改天和你继续讨论,另外,我去看了你的blog,你很厉害,至少应该是软件开发的高手!
patch应该在这里,搜索一下cb的论坛就可以找到。
http://forums.codeblocks.org/index.php/ ... 242.0.html
其他问题改天和你继续讨论,另外,我去看了你的blog,你很厉害,至少应该是软件开发的高手!