Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(2.6.2 unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受Visual Studio的庞大和高昂的价格。
基本配置编辑
关于中文,安装中文语言包即可。
Windows平台安装
打开CodeBlocks,在Settings->Compiler and debugger settings->选择GNU GCC Compiler,并在Toolchain executables中设置好对应执行软件路径(若是希望使用VC编译器,类似地设置即可)。
其他平台安装
从软件源中安装即可。
Code::Blocksnt特点
编辑
虽然Code::Blocks从一开始就追求跨平台目标,但是最初的开发重点是Windows平台,从06年3月21日版本:1.0 revision 2220开始,Code::Blocks在它的每日构建中正式提供
GNU/Linux版本,这样 Code::Blocks在1.0发布时就成为了跨越平台的C/C++IDE,支持
Windows和GNU/Linux。由于它开放源码的特点,Windows用户可以不依赖于VS. NET,编写跨平台C++应用。
Code::Blocks提供了许多工程模板,这包括:控制台应用、
DirectX应用、动态连接库、
FLTK应用、GLFW应用、
Irrlicht工程、OGRE应用、
OpenGL应用、QT应用、
SDCC应用、SDL应用、SmartWin应用、静态库、Win32 GUI应用、
wxWidgets应用、wxSmith工程,另外它还支持用户自定义工程模板。在wxWidgets应用中选择
UNICODE支持中文。
Code::Blocks支持语法彩色醒目显示,支持代码完成(目前正在重新设计过程中)支持工程管理、项目构建、调试。
Code::Blocks支持插件,包括代码格式化工具AStyle;代码分析器;类向导;代码补全;代码统计;编译器选择;复制字符串到剪贴板;调试器;文件扩展处理器;Dev-C++DevPak更新/安装器;DragScroll,源码导出器,帮助插件,键盘快捷键配置,插件向导;To-Do列表;wxSmith;wxSmith MIME插件;wsSmith工程向导插件;
Windows7外观。
Code::Blocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch文件、Fortan77文件、GameMonkey脚本文件、Hitachi汇编文件、Lua文件、MASM汇编文件、Matlab文件、NSIS开源安装程序文件、Ogre Compositor脚本文件、Ogre Material脚本文件、OpenGL Shading语言文件、Python文件、Windows资源文件、XBase文件、XML文件、nVidia cg文件。识别Dev-C++工程、MS VS 6.0-7.0工程文件,工作空间、解决方案文件。
Code::Blocks基于wxWidgets开发,正体现了wxWidgets的强大。以前Borland C++Builder X宣称基于wxWidgets开发跨平台、兼容性好、最优秀的C++ IDE环境,但没有实现;让我们拭目以待。国内的Code::Blocks爱好者和跨平台开发员应该尽快建立中文Code::Blocks网站,提供Code::Blocks中文化支持,促进Code::Blocks在国内的发展。
Code::Blocks版本发布
编辑
2012年11月25日 星期六12:23
Changelog
Code::Blocks更新日志
For the release 12.11, we provide a top-level changelog hereby about what has changed since 10.05 (to download this or a full
change log, links are provided at the bottom of this page):
关于版本12.11起自于10.05的更新,我们特此提供了一个顶端视图级的预览(要下载这个完整的更新日志,链接在本页的底端)。
Code::Blocks大致
常规
- Better support for dark themes in Linux
对Linux暗主题更好的支持
- Support open file's containing folder using the context menu of the file
在环境菜单中支持打开文件时包含路径
- Context menu item to show file in project tree
环境菜单条目可以以树形结构显示项目中的文件
- Improved lexers for various languages
多方语言语法分析器功能改进
- Added the ability to show tooltips on cbAuiNotebook tabs - show full filename and project in tooltip for editor tabs
增加了在笔记本标签上可以显示的功能-它在编辑选项卡上显示完整的文件名称和项目
- Added the ability to maximize editors with double-click on tab
增加了一个双击文件选项卡可以最大化编辑器窗口的功能
- Add ability to hide the editor tabs, can be toggled with "View -> Hide editor tabs" or "Ctrl+H"
增加了一个使用"视图"菜单下的"隐藏编辑器选项卡"或快捷键"^H"隐藏编辑器选项卡的功能
- Select file from all projects in the workspace (Search->Goto file)
在工作区中可以从所有项目中选择文件(Search下的Goto file)
- Some accessibility improvements - more things are accessible only with a keyboard
许多重要的可访问性改进-许多仅能从键盘上完成的可访问性改进
- Lots of improvements to the Marcos support in the options - more options support macro expansion and there are more
variables
大量关于宏支持的选项改进-更多关于宏的扩展和更多变量的选项支持
- Added per language override for the 'use tabs' setting. Currently only for Python files (always use spaces) and for
Makefiles (always use tabs)
在"use tabs"设置中增加了每一种语言重写的功能设置,当前仅支持Python语言文件(已经在用户空间中)和Makefiles文件(已经在编辑器
选项卡中)
- Use gtk-notebook as default notebook on systems using wxGTK, so the notebook-tabs integrate more smooth into the systems
theme
用户GTK笔记模式可以被wxGTD默认使用,所以这个选项卡标签被平滑过渡的方式集成了到系统主题中
- Active project no longer stored in workspace but in dedicated layout file for the workspace,
激活的项目不再存储在工作区,除非这个文件是特别指定为空间的布局文件
- Speed up scrolling in wxScintilla
提升wxScintilla的滚动速度
- Harmonised find and replace dialogues
优美和谐的查找替换对话框
- Added power user support for units global feature. These are directory paths that can be specified, and all files in there will be considered as sources for the project. This can be based on a wild-card for the file types, and can be recursive.When no wild-card is specified (empty) the default CB wild-card for adding files is used
增加了一个强大的全局用户单元支持,这需要指定一个目录给它,并且所有与项目有关的源码文件都会被考虑在内。此操作的文件类型可以由通配符扩展。当未指定通配符时,默认的CB通配符将被用于添加文件。
- Made the localization to be off by default, hopefully this will minimize the number of people getting the right-to-left
text issue
本地化功能默认被关闭,因为只有极少数用户有这种从右至左的语言书写顺序问题解决期望。
- Add predefined settings for the terminals on Linux
为Linux的终端增加了预定义设置功能
Code::Blocks汇编
编辑Code::Blocks编译器
- Support GCC up to version 4.7
GCC版本支持到4.7
- Improved Fortran/D support
改进Fortran/D支持
- Improved resource compilation with MinGW resource compiler
改进MinGW源码编译器的源码编译功能
- Automatically re-link a project when a dependant static library has been changes
当依赖于一个项目存在的这个静态库被改变时自动重新连接这个项目
- Switched full command line logging to be the default option for all compilers
为所有编译器转换了完整命令行日志
- Fixed Cygwin Compiler auto-detection
修复Cygwin(注:一个小型UNIX模拟环境)编译器的自动检测功能
Code::Blocks完成代码
代码自动完成
- Calltip improvements: cleaned it up (strip duplicates), refined the calltip window position, "Pretty Print" each function
names
关于提示点的改进:可以清除它(去除重复),重新定位一个精致的Windows提示点,对每个函数名称的"Pretty Print"功能
- Fixed showing the Call tip for consturctors and destructors
修复了构造器和解构造器的提示点显示功能
- Optimised the Symbols browser by avoid unnecessary updates
优化了符号浏览状态下关于avoid的一些不太重要的更新
- Fixed some bug when saving/loading the Code completion options
修复了一些代码自动完成选项中保存和载入的问题
- Made 'Find implementation' and 'Find declaration' to be more precise (goto to line and column)
使"Find implementation"(注:搜索实现)和"Find declaration"(搜索声明)更准确(直接定位到行和列)
- Fixed some bugs with the refresh of the Code completion toolbar
修复了代码自动完成工具栏上刷新的一些问题
- Fixed many bugs in the parser (crashes, deadlocks and parsing errors)
修复了语法分析器(崩溃、死锁、分析错误)的多个问题
- Added support to the parser for handling conditional preprocessor directives (only for file scope, included files aren't
expanded)
增加了对语法分析器手动预处理指令的支持(仅限文件作用域,include文件尚未扩展进来)
- Improved the Macro replacement and added macro replacement for GCC/MSVC build-ins
改进了宏替换功能,增加了GCC/MSVC上构建的的宏替换功能
- Made the parser more robust and improved the thread safety
使语法分析器更加运行强健并且改进了它的线程安全
- Introduce two major options for the operation of the Code completion plugin: one parser for all workspace or a parser per
Code::Blocks计划
介绍两个比较重点的自动完成操作选项功能的插件:一个工作区全局语法分析器和一个逐个项目的语法分析器
- Improved the parsing of Class inheritance, now it is better and faster
改进了类继承的语法分析
- Improved parsing of C++ template constructs, typedef statements, operator overloading
改进了C++构件、类型自定义语句typedef和重载操作的语法分析器
- Added macro expansion for some code patterns (e.g. wxWidgets's event handling table/entry macros)
增加了许多代码块的宏扩展功能(比如wxWidgets的事件处理表单或资源宏)
- Added None/Null parser for parsing files not included in any C::B project.
增加了不包含任何C::B项目的文件中的None/Null的语法分析
- Adding code with auto-completion follows the active indentation and EOL style
增加代码自动完成功能和下面内容自动缩进,并且拥有EOL(注:面向表达式的语言)风格
- Support auto-completion for include header file names and preprocessor directives
支持include头文件名称和预处理指令的自动完成功能
- Automatically append the text if the prefix word already exists before the caret(after the user hit Enter on the suggestion
list)
在已经在前面存在的的插入符号前自动追加文本文件的前缀(如果用户按了回车键则显示建议候选值列表)
- Support auto-completion for member variable initialisation
支持成员变量初始化自动完成功能
- Added some tools for simple refactoring tasks: find references, rename a symbol (not 100% precise)
增加了一些简单重构任务的工具:查找参照,符号重名称(并非百分之百精确)
* Not implemented (TODO) - parsing of multiple template arguments
未执行的(TODO)-多样化模板参数语言分析器
Code::Blocks调试
调试器:
- Reworked the plugin API and made it easier to implement different debugger plugins (currently there are at least 3 plugins
in progress)
重写和插件API功能并且使它更容易为不同的实现调试器所调用(当前至少还有3个插件正在此进程中继续进行着)
- Reimplemented the watches window to be easier to use* using wxPropertyGrid control. Now adding, removing, editing watches
should be easier
重应用一个观察窗口使它更易于为wxPropertyGrid所调用。增加、删除、编辑观察点容易多了
- Reimplemented the UI used for the 'Evaluate expression under cursor' feature, it is similar to the new watches window
重应用"Evaluate expression under cursor"的一个有特色的用户界面(UI),它与全新的观察窗口竟然有些相似
- Fixed some problems in the callstack window - switching to the selected frame should work 99% of the time
修复了多个栈调用窗口的问题-切换到已选择的窗口框架可以看到99%的时间下工作的栈
- There were many improvement to the disassembly window
还有许多反汇编窗口的重要改进
- The debugger options have been extracted in Settings->Debugger. Multiple configurations are supported for every different