一款全新的C++集成设置环境软件(IDE) - CodeBlocks使用

13年前

1. 简介

Code::Blocks,有时也简单打成“CodeBlocks”,是一款全新的C++集成设置环境软件(IDE)。

作为一款C++的IDE,Code::Blocks至少有以下几点非常吸引我:

  • 开源——开源不仅仅意味着免费,但就算是仅仅是免费这一点,就非常重要了,不是吗?
  • 跨 平台——我的工作需要写的C++程序,就要求是跨Linux和Windows平台,没有选择Code::Blocks之前,我在Linux下用 KDevelop,在Windows下使用Borland 或 Microsoft的软件,由于二者不兼容而要多做的事情太多。或许你暂时并不考虑跨平台,但为了将来,能跨平台总不是坏事,对了 Code::Blocks也支持Mac系统呢。
  • 纯 C/C++写成——作为一名C++程序员,我“顽固”地保留一点可能并不必要的自尊:写C++程序,还是用C++写的IDE吧。让我选择一款以其它语言写 成的IDE来写C++程序,我有那么一点点完全不必要的心理障碍。其实用C++写的程序最大好处是你不用额外安装庞大的运行环境,譬如你不用装.net也 不装java。
  • 支持多编译器——包括Borland C++,、VC++、Inter C++等等超过20个不同产家或版本编译器支持。无特定要求下,我还是主要用g++。配对的,调试器也是支持多种。
  • 插 件式的框架——插件式的集成开发环境,最著名的是Java编程工具Eclipse了,这种方式让一款IDE保留了良好的可扩展性,应该说,作为一款开源的 IDE,这是最合理的选择。Code::Blocks很多核心功能,包括“调试功能”,都通过插件来实现。非核心方面的插件嘛,我用得最多的,是代码格式 美化、自动上Google Codes查找……偶尔也会玩玩“俄罗斯方块”以及“贪吃蛇”……
  • 经常更新——几乎每个月都会有更新。开源软件最怕的就是不更新了。
  • 内 嵌可视设计——和大家熟悉的VB、Delphi/C++Builder相比,它的可视窗口设计器,其“傻瓜性”差了一大截,其主要原因在在主流的跨平台图 形窗口的定位体系,都是采用定位“容器”来实现的,这一点一开始会不太习惯,但在熟悉之后,设计各种对话框,也非常直观。一点点不直观,换来的是你的程序 很容易迁移到别的操作系统,同时还让你对窗口设计更深入了,倒也值。
  • C++扩展库支持——通过它的一个用以支持Dev C++的插件,可以下载大量C++开源的扩展库。比如网络操作,图形算法,压缩、加密等等……我现在最常用到一款就是iconv,用来转换汉字编码。扩展库下载,及使用方法,请见本站相关课程。
  • 多国语言——哈哈,有中文版,支持近40国语言,不过并不是默认支持的,本站对相关语言包进行了部分订正及改进,语言包文件下载及使用方法请见本站相关课程。
  • 众 人的选择——顺便说一下,Code::Blocks进入“Sourceforge community choice award” 2008年度决赛了。“Sourceforge”是全球最大的开源社区,那这个赛事,可称为“社区最佳选择奖”,最终能不能获奖不好说,不过确实有去投过 一票。能有很多用户无私无利的支持以进入决赛,这自然也是我们选择一个参考。


2. CodeBlocks 安装、汉化

安装

安装环境:Linux,OpenSUSE 11.2

安装步骤:

  • 打开Yast

  • 点击进入“Package Search (webpin)”

  • 在输入框中输入codeblocks

  • 点搜索

  • 从下面的列表中找到codeblocks这项,在前面打勾

  • 点下一步。。。。。。

安装过程中如提示导入证书,点“是”。

汉化

使用本地语言包

首先,请在 /usr/share/codeblocks/ 建立一个子文件夹:locale,注意 locale 全为小写字母。

接着,下载d2school 版Code::Blocks语言包

下载地址:http://www.d2school.com/codeblocks/download/d2school_codeblocks_chinese_locale.7z

下载后,请解压到前述的locale目录下,则locale目录下,应出现zh_CN和zh_TW两个子目录。

然后,重新启动Code::Blocks,点击主菜单的“Settings”,选择“Enviornment”。出现的对话框中,左边选中 “View”,右边打勾 “Internationalization (needs restart)”,并在后面的复合框中选中“Chinese (Simplified)”。确认退出本对话框。

set_language.jpg

最后,重启Code::Blocks。再看到的应该是中文简体界面了。


3. CodeBlocks 使用教程

创建项目模板

 

在Code::Blocks中创建一项目,把你想要设置的项目属性设置好,然后在菜单中选择 文件->Save project as template... ,输入模板名称,然后点确定即可。

使用项目模板

 

在新建项目时,先点窗口左边的“自定义模板”,然后就可以在右边看到你创建的模板了,选择你想要用的模板,点“出发”。

例如:DVSDK 项目模板

 

这里有一个已经做好的模板,适用于使用TI的DVSDK来开发的项目。在~/.codeblocks/UserTemplates/下面新建一个文 件夹(文件夹名就是你的模板名,例如dvsdk_2_10_Project),把刚刚创建的项目模板文件放入这个文件夹中就可以在新建项目时使用这个模板 了。

快捷键

 

1.说明:

  1. 以下需要设置的地方均在Settings->Editor...(设置->编辑器...)弹出的对话框中,左边找到快捷键的图标(如果没找到,应该是没有安装codeblocks-contrib 包。

    • 另外还有其他包,分别是:

      • libcodeblocks0

      • codeblocks-dbg

      • codeblocks-dev

      • libwxsmithlib0-dev

      • libwxsmithlib0

  2. 不少命令都可针对当前行或选中的代码块,下文简称当前行或选中块。

2.日常编辑

  • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小,对保护视力特别有好处。

  • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦;相关设置:Mouse Drag Scrolling。

  • Ctrl+D可复制当前行或选中块。

  • Ctrl+Shift+C注释掉当前行或选中块,Ctrl+Shift+X则解除注释。

  • Tab缩进当前行或选中块,Shift+Tab减少缩进。

  • 可拖动选中块使其移动到新位置,按住Ctrl则为复制到新位置。

  • 按下Atl,再拖动鼠标,可以实现部分选择(即只选中一个区域内的字符,而不会包含它们所在行的其他字符)。

  • 需要更大编辑空间时,F2和Shift+F2分别可以显隐下方Logs & others栏和左方的Management栏。

3.自动完成与缩写

 

1. 优化代码自动完成功能:在Code-completion and symbol browser中,

  • 将Automatically launch when typed # letter中的4改成2,这样打两个字母就会有提示了。

  • 将Keyword sets to additionally include中1到9都勾上(可在Syntax highlighting 的keywords...中设置,其中1是C++关键字,3是Doxygen关键字;我曾将wxWidgets的类名都加入7并设置相应的字体(粗黑 体),看代码时特别爽)

  • 将Delay for auto-kick-in when typing [.::->]拉到 200ms,这样快点出来提示

  • 选中Case-sensitive match,防止一些无关的东西干扰,如果你想它帮你纠正大小写,那就去掉勾

  • 在Keyboard short-cuts中将Edit->Code complete的快捷键由Ctrl+Space改为Alt+/,因为前者与中文输入法切换冲突,该快捷键为已经输入的(不是正在输入的)词提供自动完成。

2. 看Abbreviation一栏,里面定义了许多缩写(还可以自定义),只要输入这些缩写,并按Ctrl+J,就可以自动完成常用的代码框架,并将光标放在恰当的地方(自定义时用|表达)。常用的有:guard、class、switch等。

3. 如果你声明了一个类,你可以在cpp文件中右击,Insert->All class methods without implementation...来插入你还没定义的方法的定义(省去不少打字的功夫哦),也可使用Insert->Class Method declaration/implementation...来插入一个方法的声明或定义。

4.导航相关

 

  • Ctrl+G 到达指定行,ALT+G 到达指定文件,Ctrl+Alt+G 到达指定函数(支持头文件中的函数定义),F11 切换源文件与头文件。

  • Ctrl+PageUp 到达上一个函数,Ctrl+PageDown 到达下一个函数。

  • Ctrl+B 添加书签,Alt+PageUp和Alt+PageDown可以切换书签。

  • Ctrl+Shift+B可找到匹配的括号。

  • 看长代码时,可右击,Folding->Fold All,然后慢慢展开来看,也可充分利用左方Management栏的Symbol浏览器。

  • 在一个变量、函数或宏上右击,三个以Find开头的菜单项,分别可以为你转到它的声明、定义和找到所有出现的地方(按F2在下方Thread Search那里查看)。

5.其他

 

  • General Settings中可以设置缩进、自动换行等细节。

  • 让Code::Blocks永远记住你的Layout,尤其是debug的layout,善用debug工具栏。

  • 备份~/.codeblocks/Default.conf,如遇重装,将其放回此目录,就不会丢失你的配置;这样也可以打造出 Code::Blocks的绿色版。 Ctrl+L 剪切选中行 F11 切换源文件与头文件 F10 全屏 Ctrl+Shift+B 括号匹配 按下ATL,再拖动鼠标,可以实现部分选择

    Ctrl+B 添加书签,ALT+PageUp和PageDown可以切换书签。 Ctrl+G 到达指定行 ALT+G 到达指定文件 Ctrl+Alt+G 到达指定函数(支持头文件中的函数定义)

    Ctrl+PageUp 到达上一个函数

    Ctrl+PageDown 到达下一个函数

    还有一个比较健全的介绍:http://www.d2school.com/codeblocks/doc/codeblocks_setup.html