原手册下载:
http://www.codeblocks.org/docs/manual_en.pdf
译者:JGood(http://blog.csdn.net/Jgood )
译者言:工欲善其事,必先利其器。一个好的工具能事半功倍。写程序时,特别是写C++程序,大部分人脑子里想到的第一个工具就是VisualStudio。不可否认,VS很好很强大,用户体验非常好。但VisualStudio也是有缺点的:它非常庞大;只支持VC,不支持其他的编译器;VS只能在windows下跑,在其他os上就无用武之地;VS是要钱的,而且费用不非(Express版本免费)。Code::Blocks是一个非常优秀的工具,如果您正在寻找VisualStudio之外的,开源、免费、轻便、支持多种编译器、跨平台的C/C++IDE,那么Code::Blocks就是一个很好的选择。
说明:笔者打算用两篇日志来完成对Code::Blocks手册前二章的编译,分别是:使用篇、插件篇。本文是第一篇:Code::Blocks使用篇。原手册第三章介绍Code::Blocks变量、脚本的使用,第四章介绍如何从源码编译Code::Blocks,这两章内容不是很多,笔者认为对大部分用户帮助不是不大,暂不打算翻译。笔者使用的Code::Block版本是nightlybuilds,svn6088(可以在这个地址下载:http://forums.codeblocks.org/index.php/topic,11875.0.html)。使用的编译器是GCC3.4.5。每个版本之间的使用可能会有细微的差别。因为水平有限,难免出错,欢迎指正!
Code::Blocks 手册 Version 1.0
感谢CodeBlocks项目组:
Anders F. Bjorklund (afb), Biplab Kumar Modak (biplab),Bartomiej wiecki (byo), PaulA. Jimenez (ceniza), Koa Chong Gee(cyberkoa), Daniel Orb (daniel2000), Lieven de Cock(killerbot),Yiannis Mandravellos (mandrav), Mispunt (mispunt), Martin Halle(morten-macy), Jens Lody (jens), Jerome Antoine (dje), Damien Moore(dmoore), Pecan Heber(pecan), Ricardo Garcia (rickg22), Thomas Denk(thomasdenk), tiwag (tiwag)
Permission is granted to copy, distribute and/or modify thisdocument under the terms of the GNU Free Documentation License,Version 1.2 or any later version published by the Free SoftwareFoundation.
1 CodeBlocks项目管理
下图是CodeBlocks运行时的用户界面:
- 管理(Management):管理窗口包含Project视图与Symbols视图。Project视图显示当前CodeBlocks打开的所有项目(译者注:类似与VS解决方案资源管理器);Symbols视图显示项目中的标识符:类,函数、变量等信息(译者注:类似与VS的类视图)。
- 代码编辑器:支持代码折叠,关键字高亮显示。上图main.cpp正在被编辑。
- 打开文件列表:显示当前在代码编辑器中打开的所有文件列表。上图中打开的文件列表为:main.cpp, person.cpp,person.hpp
- 代码段(CodeSnippets):管理常用的代码段、常用文件链接(links to files)与URL。可以通过菜单View->CodeSnippets 来显示该面板。
- 日志和其他:这个窗口用于输出日志信息,显示查询结果等等。
- 状态栏提供了以下这些信息:
- 编辑器中打开文件的绝对路径;
- 文件的编码类型;
- 光标所在的行与列;
- 当前的键盘模式(insert 或者 overwrite);
- 当前的文件状态。被修改过的(但尚未保存)文件将被标记为“modified”,否则这里为空;
- 文件操作的权限。如果文件是只读的,这里将会显示“Read only”,在 Open fileslist中,该文件会使用一个加琐的图标来显示;
- 个性化配置名称;
CodeBlocks提示了非常灵活和强大的项目管理功能。下文将介绍项目管理的一些常用功能。
1.1 项目视图(Project View)
在CodeBlocks中,Project的源文件(如C/C++的源文件及其对应的头文件)和编译属性设置信息都保存在<name>.cbp文件里。可以通过菜单[File–>Project]启动工程创建向导来创建新的Project,然后通过管理窗口的上下文菜单[Addfiles](译者注:上下文菜单,指当前窗口中选中目标项目,然后右键显示的菜单)向Project中添加文件。CodeBlocks会自动根据文件的后缀将它们放入不同的类别文件夹中(译者注:这个文件夹是虚拟的,实际并不存在)。下面是默认的分类:
- Sources:包含源文件,后缀为*.c、*.cpp;
- ASMSources:包括汇编源文件,后缀一般为*.s、*.S、*.ss、*.asm;
- Headers:包括头文件,后缀一般为*.h、 *.hpp;
- Resources:包括资源文件,后缀一般为*.res、*.xrc;
通过管理窗口的上下文菜单[Project tree –>Edit file types&categories],用户可以新建自定义的文件类别,并为其相应的后缀。例如,如果你希望*.ld的文件放到Linkerscript的分类里,你只需新建类别Linkerscript,并为它指定*.ld后缀即可。
提示: 如果你取消选中管理窗口上下文菜单的[Projecttree–>Categorize by filetypes]选项,所有的项目文件将会按它们在文件系统中的位置来显示。
1.2 项目备注(Notes for Projects)
可以给CodeBlocks项目添加一些备注,用于对项目进行概要的描述与说明,这些信息有助于其他成员迅速的了解项目。备注信息被保存在项目工程文件里,并可以设置为随着项目的启动而显示。如图:
1.3 项目模板
CodeBlocks支持许多不同类型的项目模板,它们会在新建项目的时候显示,创建新项目的时候往往从这些模板中选择(如上图:)。用户可以自定义工程模板。工程模板保存编译器的类型、编译选项、资源的配置等相关信息。项目模板保存在DocumentsandSettingsn\<user>\ApplicationData\codeblocks\UserTemplates目录中。如果你希望该工程模板被本机的所有用户使用,必须把对应的模板文件拷贝到CodeBlocks的安装目录。模板在CodeBlocks重启之后生效,通过菜单[New->Project->Usertemplates]就可以看到自定义的模板。
提示: 用户可以通过右键选中工程向导中的模板对其进行编辑。如下图:
1.4 从编译模式创建项目(Create Projects from Build Targets)
一个项目往往有不同的编译模式,最常见的是Release和Debug。不同的编译模式表示用于构建当前项目所使用的不同编译器选项、调试信息或者依赖的文件。每一种编译模式都可以被保存成独立的工程文件。通过上下文菜单[Project->Properties],在BuildTargets标签中点击“Create project from target”按钮来生成对应编译模式的工程文件,如图:
1.5 编译模式(Virtual Targets)
一个项目可以有多种不同的编译模式,最常用的编译模式为“Debug”和“Release”。“Debug”模式下会包含许多Debug信息,而“Release”模式下没有这些信息。也可以通过上下文菜单[Project->Properties->BuildTargets]添加其他的编译模式。编译模式将显示在工具栏中:
1.6 预生成和生成后步骤 (Pre- and Postbuild setps)
Code::blocks允许在项目生成前和生成后执行额外的操作,这些操作分别被称为预生成(Prebuilt)或生成后(Postbuilt)步骤。下面是典型的生成后步骤:(译者注:笔者对低层的东西知道的不多,不是很清楚下面这些步骤的意思。)
Creating an Intel Hexformat from a nished object
Manipulating objects by objcopy
Generating dump les by objdump
1.7 为构建目标添加脚本(Adding Scripts in Build Targets)
Code::Blocks允许使用脚本来调用菜单命令,控制项目的生成。
提示: 脚本可以被包含到一个构建目标(Build Target)中。
1.8 解决方案(Workspace)与项目依赖
CodeBlocks可以同时打开多个项目,通过菜单[File->Saveworkspace]把它们集成到一个解决方案中,并生成一个对应的解决方案文件(<name>.workspace)。下次打开解析方案文件(<name>.workspace)时,这些项目会被一起加载进来。
复杂的软件系统通常由不同的模块、组件以独立的工程项目组成,它们之间往往存在依赖关系。
例如:项目A以库(library)的形式提供一些公用函数给其他项目调用,如果项目A中的源代码被修改,这个库就得重新编译。项目B使用项目A中实现的函数,那么项目B就依赖项目A。CodeBlocks把这些项目依赖的信息保存到解决方案文件中,所以解决方案中的工程可以各自独立的创建、编译而不相互影响(译者注:由解决方案文件来维护各项目的依赖关系)。这些依赖关系会决定项目的生成顺序。通过菜单[Project->Properties],然后选择[Project’sdependencies]按钮来设置项目之间的依赖关系。如下图:
1.9 包含汇编文件
略。
1.10 代码编辑器与工具 (Editor and Tools)
1.10.1 默认代码 (DefaultCode)
公司的编码规范往往要求源文件有统一的布局(译者注:例如源文件的开始处以统一的格式给出文件创建的时间、作者、实现的功能描述等相关信息)。CodeBlocks允许预定义一些内容,当新建C/C++文件时这些内容会自动添加到文件的开始处。这里把预定义的内容称为defaultcode。可以通过菜单[Settings–>Editor–>DefaultCode]来设置defaulgcode,通过菜单[File->New->File]创建的代码文件将自动添加上defaultcode。例如:
1.10.2 缩写(Abbreviation)
定义一个常用的代码片断[typing],并给它提供一个名字[Abbreviation],在写程序的时候,只要给出这个名字,然后按快捷键Ctrl+J,CodeBlocks就会用预先定义的代码片断来替换该名字。(译者注:VS中也有类似的功能,在C#程序时,只要写出关键字for,然后连续按两次Tab键,编辑器会自动生成for语句的框架,是不是很方便?~_~)。通过菜单[Settings->Editor]来设置Abbreviation,如下图:
abbreviation也支持参数变量(Parametrisation)(如:$NOW表示当前时间)。如:
-->
1.10.3 个性化(Personalities)
CodeBlocks的配置信息被作为应用程序数据而保存在codeblocks文件夹的<user>.conf文件中。该配置文件中保存的信息包括:上次打开的项目、代码编辑器的设置、符号栏显示等等。默认的个性化设置被保存在default.conf文件中。通过命令行参数-personality=myuser来调用CodeBlocks,配置信息将被保存到myuser.conf中。如果该文件不存在,系统将自动创建它。如果以命令行的方式来启动CodeBlocks,并传递命令参数--personality=ask,将会显列出当前所有的修改化配置列表,用户选择其一启动CodeBlocks。如下图:
1.10.4 配置文件(Configuration Files)
CodeBlocks的配置信息保存在codeblocks目录下的default.conf文件中。当使用个性化设置的时候,配置信息将被保存到<personality>.conf文件里。
cb_share_conf(一个辅助工具,可以在CodeBlocks安装目录里找到)被用来管理与保存这些设置信息。
如果你想为电脑的不同账户定义一个公用的默认设置,defual.conf文件应该被保存到\Documents andSettings\Default User\ApplicationData\codeblocks。CodeBlocks在第一次启动的时候,会将该配置文件拷贝到当前账户的applicationdata目录下(并作为当前帐户的配置文件)。
如果想在usb设备上创建一个绿色版本号的CodeBlocks,请执行下面步骤:将CodeBlocks安装目录拷贝到usb设备上,将配置文件default.conf拷贝到该目录中,该配置文件将被用于全局的设置。确保系统有权限对该文件进行写入,否则CodeBlocks对配置文件的修改将不会被保存。
1.10.5 导航与搜索(Navigate and Search)
CodeBlocks提供了很多方法用于文件和函数之间导航。书签就是最常用的一种方式。通过快捷键Ctrl +B在源文件中设置/删除一个书签,通过Alt + PgUp或Alt + PgDn在不同的书签之间跳转。
在管理窗口的Project视图中选中解决方案或项目,右键点击在弹出菜单中选择[Findfile],输入你查找的文件名称,然后回车,该文件将被选中(如果文件存在的话),再按回车,编辑器就会打开该文件。如下图:
在CodeBlocks中,你可以很容易的在头文件与源文件之间导航:
1. 将光标置于头文件被包含处(例如:#include “header.hpp”),右键选择性“open includefile”,编辑器将打开该包含文件。(译者注:可以在VS中使用快捷键 Ctrl + Shift + G实现同样的操作。这个功能非常方便,特别是要查看源代码时。)
2. 通过右键菜单的[Swap header/source],在头文件与源文件之间切换。
3. 选中一个定义(如变量名,类型名等等),在右键菜单中选择[Finddeclaration],编辑器就会打开该定义的声明。(译者注:可以使用右键菜单的[Findimplementation]定位到函数的实现处,在VS中使用快捷键F12实现同样的操作。这也是一个非常方便的功能。)。
CodeBlocks提供多种方式用于对单个文件或整个目录进行搜索。通过菜单[Search->Find]或[Search–> Find in Files]来打开搜索对话框。
Alt + G 和Ctrl + Alt + G这两个快捷键用于打开 文件/函数跳转对话框,只要输入文件/函数的名称,就可以很方便的跳转到指定文件或函数。文件名/函数名搜索还支持 * 和 ?等能配符。(译者注:可以使用Visual Assist插件在VS中实现类似的功能。这两个功能真的很方便实用。)
提示: 使用Ctrl + PgUp 和 Ctrl + PgDn可以在前后函数之间跳转。
在文本编辑器中,使用快捷键Ctrl + Tag可以在当前所有打开的文件之间跳转。(译者注:VS也有类似的功能,而且快捷键也是Ctrl+ Tag,这是巧合吗?)
显示行号。通过菜单[Settings->General Settings],选中[Show linenumbers]来显示行号。使用快捷键 Ctrl + G 可以快速的跳转到指定行。
1.10.6 符号视图(Symbol view)
CodeBlocks管理窗口提供的符号视图,以树的形式显示(导航)C/C++源文件中的类、函数、变量定义。可以选择符号显示的区域是:当前文件、当前项目、整个解决方案。(译者注:与VS的类视图面板实现类似的功能。)
提示: 在搜索输入框中输入符号的名称,符号浏览器将会过滤不符条件的符号。
符号视图将符号分为如下分类:
- Global functions: 全局函数;
- Global typedefs: 通过typedef定义的别名;
- Global variables:全局变量;
- Preprocessor symbols: 通过#define宏定义的预处理指示符;
结构和类的定义显示在pre-processorsymbols下面。如果一个分类被选中,属于该分类的标识符将显示在视图的下半部分。双击这些标识符,代码编辑器将定位到定义这些标识符的文件所在处。
1.10.7 集成外部的帮助文档
CodeBlocks支持添加外部的帮助文档集成到开发环境中。通过菜单[Settings->Environment]来设置。把你选择的chm格式的文档以添加到HelpFiles,并将其作为默认的帮助文档,在编辑器中选择一个函数,对应的文档就会出现通过快捷键F1。…
1.10.8 集成外部工具
通过菜单[Tools->ConfigurationTools–>Add],把外部工具集成到CodeBlocks开发环境中。这些外部的工具允许以参数的形式访问CodeBlocks的内建(Built-in)变量(如当前项目所在的文件夹${PROJECT_DIR})。利用这个功能,我们给CodeBlocks添加一个菜单项:打开当前项目所在的文件夹。请看图:
(译者注:这是一个非常实用的功能。利用这个功能,我在我的CodeBlocks中,添加了三个我最常用的菜单项:使用Notepad++打开当前文件;打开当前项目所在的文件夹;以Dos窗口打开当前文件夹。爽歪歪~~)
1.11 使用CodeBlocks的小提示(Tips)
这节我们将展示一些CodeBlocks非常有用的提示。
1.11.1 修改跟踪(Tracking of Modifications)
CodeBlocks通过行号旁边的小坚条颜色来跟踪源文件的修改。未保存的修改行将被标记为黄色,而已保存的修改行标记为绿色。你可以通过菜单[Search->Gotonext changed line]或者[Search->Goto previous changedline]在修改内容之间导航(对应的快捷键是 Ctrl + F3 和 Ctrl + Shift +F3)。(译者注:VS也提供类型的功能。)
可以通过菜单[Settings->Editor->Margins andcaret],取消选中[Use Changebar]来取消该功能。
提示:如果文件被关闭,记录在该文件上的undo/redo信息和修改标识(changebars)将会清空。如果文件处理打开状态,可以通过菜单[Edit->Clearchanges history]或者右键菜单相应选项来显式地清空这些信息。
1.11.2 与其他应用程序交互
CodeBlocks能够在运行时与其他应用程序进行交互。windows下通过DDE(Dynamic DataExchange)实现这种进程间的交互,而在其他操作系统下,基于TCP来实现交互。
以下语法的命令可以发送给CodeBlocks运行实例:
[<command>(“<parameter>”)
当前可以使用的命令:
Open:命令[Open(“D:\Temp\test.txt”)],在CodeBlocks实例中(或者启动新的CodeBlocks进程,如果需要的话)打开一个文件。
OpenLine:命令[OpenLine(“D:\Temp\test.txt:10”)],在CodeBlocks中打开文件,并定位到指定行数,冒号后面的数字用于指定行号。(译者注:不是很明白原文的意思:Thiscommand opens a le at a given line number in a CodeBlocksinstance.)
Raise:让CodeBlocks实例获得焦点。不就给该命令提供参数。
1.11.3 配置环境变量
操作系统的配置信息被定义在环境变量中。例如环境变量Path包含一个编译器的安装目录路径,操作系统在运行期间都可以随时访问该环境变量。如果同一编译器的另一个版本被安装,就可能会发生错误,如:调用的编译器版本不正确。
有时候因为项目的需要,必须在同一机器上安装同一编译器的不同版本。为了避免上述错误的发生,可以在项目启动之前修改环境变量。显然,这个方法很容易出错,很不灵活。基于这个问题,CodeBlocks提供了一个简单的解决方法:创建不同版本的、只能在CodeBlocks内使用的环境变量,然后根据项目的需要选择适当的版本环境变量。通过菜单[Settings->Environment],在EnvironmentVaribales面板中点击Create按钮创建不同版本的环境变量,如下图:
1.11.4 切换布局
CodeBlocks可以根据手头任务的需要选择不同的配置/视图,并保存这些配置/视图。默认情况下这些配置保存在default.conf文件里。以命令行方式启动Cdoeblocks,并传递--personality=ask参数,就可以在列出的个性化配置列表中选择一个视图启动。有时候,你可能希望在应用程序的使用过程中切换布局,如编码模式与调试模式下可能需要不同的布局。CodeBlocks提供了一种机制来实现这种需求,通过菜单[View->Layouts->Savecurrent],并输入布局的命名,保存布局。通过[View->Layouts->Layoutname]来切换布局。(译者注:笔者使用的版本,通过[View->Perspectives]来保存\切换布局,如下图:)
1.11.5 项目切换
多个项目同时在CodeBlocks中打开时,用户希望快速的在这些项目之间切换。CodeBlocks提供一组快捷键来实现:
- Alt + F5:将视图中前一个项目设为激活(Active)项目。(译者注:类似于VS中将某个项目设为启动项目。)
- Alt + F6: 将视图中后一个项目设为激活项目。
- F11: 在编辑器中切换源文件(name.cpp)和头文件(name.h)。
1.11.6 扩展编译器设置
在编译一个项目的过程中,编译信息将会显示在消息窗口的BuildLog视图中。如果你想获取更详细的编译信息,通过菜单[Settings->Compiler andDebugger],在Other Settings面板中选择Compiler logging下拉列表项:
“Fullcommand line”选项意味着将在BuildLog视图中显示所有的编译信息。可以将这些日志信息保存为HTML文件,通过选中”Save build log to HTML filewhen finished’。另外,通过选中”Display build processbar”,CodeBlocks支持在Build Log视图中显示编译进度。
1.11.7 编辑器缩放
CodeBlocks提供了一个非常高效的编辑器。这个编辑器允许你缩放打开文本的字体大小。如果你的鼠标有滚轮,你只要按住Ctrl键,同时滚支鼠标滚轮,就可以实现文本的缩放。
提示: 通过菜单[Edit->Specialcommands->Zoom->Reset]来重置缩放。
1.11.8 自动换行模式
在CodeBlcoks中打开一个文本文件,使用自动换行模式可以将很长的行以多行的形式显示在一个屏幕内,有利于编辑。通过菜单[Settings->Editor->OtherOptions],选中Word warp来激活自动换行模式。…
1.11.9 块选文本
CodeBlocks支持在代码编辑器中块选文本。按住Alt键的同时按住鼠标左键在编辑器选择一块区域。如果你想选择数组的几列进行复制和粘贴,这个功能是非常有用的(译者注:VS也提示类似的功能,快捷键也一样。)。如图:
1.11.10 代码折叠
CodeBlocks支持代码折叠,允许将函数、类的实现折叠起来。
提示:通过菜单[Settings->Editor->Folding],可以设置代码折叠的样式和层次限制(depthlimit)。
1.11.11 自动完成
在CodeBlocks中打开一个项目时,编译器的相关目录(include目录)与项目的源文件/头文件将被解析,提取有关类型定义、函数、宏等的信息,CodeBlocks使用这些信息来实现自动完成功能。通过菜单[Settings->Editors->Codecompletion]启用该功能,通过快捷键 Ctrl + Space 来显示提示信息(译者注:默认的快捷键 Ctrl + Space不适合中国人的键盘习惯,建议改成其他快捷键。)。通过[Settings->Editor->Syntaxhighlighting],你可以添加自定义的关键字。
1.11.12 查找破损文件(Find broken files)
如果一个文件已经从磁盘中删除,但它仍然被包含在项目文件(project.cbp)中(译者注:项目的文件信息保存在*.cbp文件里。),这个文件在项目面板中显示一个破损符号(如下图)。应该通过上下文菜单[Removefile from project]将它从项目中移除。
一个大的工程可能包含许多子文件夹,搜索破损文件会非常花费时间。CodeBlocks提供ThreadSearch插件来解决这个问题。在ThreadSearch中输入要查找的表达式,并设置查找的范围:“Projectfiles”或者“Workspacefiles”,ThreadSearch将会分析所有包括在项目或者解决方案中的文件。当ThreadSearch找到一个跋损文件的时候,会发出一个文件丢失的错误。
1.11.13 包含库
在项目的编译选项中,你可以通过”Add”按键添加项目所使用的库。库可以以绝对路径的形式给出,也可以只给出名称而无需提供lib前缀和文件扩展名。
例如:存在这样的一个库文件:<path>\libs\lib<name>.a,只要给出<name>,链接器就可以找到对应的库文件。
1.11.14 对象链接顺序
在编译过程中,源文件name.c/cpp将会被编译成目标文件name.o,然后链接器把独立的目标文件链接成可执行文件name.exe(对于嵌入式系统,将链接成name.elf)。这种情况下,可能需要预先定义对象链接的顺序。在CodeBlocks中,可以设置相关源文件的优先级来实现。在上下文菜单中选择[Properties],在Build标签中定义。较低优先级使文件较先链接。
1.11.15 自动保存
CodeBlcoks允许自动保存当前正在编辑的文件和项目,或者对它们进行备份。可以通过菜单[Settings->Environment->Autosave]来激活该功能。
1.11.16 文件扩展名设置
在CodeBlocks中,可以选择多次方式来处理文件不同后缀的文件,可以在菜单[Settings->Environmentsettings->Files extension handling]设置相应的处理方式:“Launchan external program”指定外部程序来打开文件;“Launch the associatedapplication”使用系统默认程序来打开文件;“Open it in Code::Blockseditor”使用Code::Blocks编辑器来打开文件。如下图:
1.12 通过命令行操作CodeBlocks
CodeBlocks能够通过命令行来运行。在这种情况下,需要通过一些选项来控制项目的构建过程。因为CodeBlocks是scriptable的,所以CodeBlocks项目的构建可以集成到你自己的工作过程中。
codeblocks.exe /na /nd --no-splash-screen --built<name>.cbp --target=’Release’
<filename>指定CodeBlock项目文件(*.cbp)或解决方案文件(*.workspace)。
--file=<filename>[:line]:使用CodeBlocks打开指定文件。可选的行号指示代码编辑器跳转到该行。
/h, --help:显示帮助信息。
/na, --no-check-associations:不执行文件关联检查。(windows only)
/nd, --no-dde:不启动DDE服务。(windows only)
/ni, --no-ipc:不启动IPC服务。(Linux and Mac only)
/ns, --no-splash-screen:应用程序启动的时候,不显示启动画面。
/d, --debug-log:显示应用程序的调试日志
--prefix=<str>:设置共享数据文件夹的前缀
/p, --personality=<str>,--profile=<str>:设置要使用的个性化配置。你可以使用“ask”参数来列出可选择的个性化配置。
--rebuild:清理并重新编译工程或解决方案。
--build:编译工程或解决方案。
--target=<str>:设置编译模式,如:--target=’Release’
--no-batch-window-close:编译完成的时候,不关闭日志窗口。
--batch-build-notify:编译完成的时候显示提示信息
--safe-mode:启动的时候,所有插件都不可用。
> <build logfile>:重定向标准输出到日志文件。这是标准DOS/*nixshell的输出重定向,并非CodeBlocks内置选项。
1.13 快捷键
在IDE中使用快捷键比使用鼠标更为高效。下表给出CodeBolcks默认的快捷键。(译者注:笔者将CodeBlocks中的快捷键设置为与VS大体一致,使用CodeBlocks时非常顺手。)
Function | Shortcut Key |
---|
Undo last action | Ctrl + Z |
Redo last action | Ctrl + Shift + Z |
Cut selected text | Ctrl + X |
Copy selected text | Ctrl + C |
Paste text from clipboard | Ctrl + V |
Select all text | Ctrl + A |
Swap header / source | F11 |
Comment highlighted code | Ctrl + Shift + C |
Uncomment highlighted code | Ctrl + Shift + X |
Duplicate line caret is on | Ctrl + D |
Auto-complete / Abbreviations | Ctrl + Space / Ctrl + J |
Show call tip | Ctrl + Shift + Space |
Swap line caret is on with line above it | Ctrl + T |
Toggle bookmark | Ctrl + B |
Goto previous bookmark | Alt + PgUp |
Goto next bookmark | Alt + PgDown |
Toggle current block folding | F12 |
Toggle all folds | Shift + F12 |
CodeBlocks代码编辑器组件提供的快捷键,这些快捷键不能重新绑定(rebound)。
Function | Shortcut Key |
---|
Magnify text size. | Ctrl + Keypad "+" |
Reduce text size. | Ctrl + Keypad "-" |
Restore text size to normal. | Ctrl + Keypad "/" |
Cycle through recent files. | Ctrl + Tab |
Indent block. | Tab |
Dedent block. | Shift + Tab |
Delete to start of word. | Ctrl + BackSpace |
Delete to end of word. | Ctrl + Delete |
Delete to start of line. | Ctrl + Shift + BackSpace |
Delete to end of line. | Ctrl + Shift + Delete |
Go to start of document. | Ctrl + Home |
Extend selection to start of document. | Ctrl + Shift + Home |
Go to start of display line. | Alt + Home |
Extend selection to start of display line. | Alt + Shift + Home |
Go to end of document. | Ctrl + End |
Extend selection to end of document. | Ctrl + Shift + End |
Go to end of display line. | Alt + End |
Extend selection to end of display line. | Alt + Shift + End |
Expand or contract a fold point. | Ctrl + Keypad "*" |
Create or delete a bookmark. | Ctrl + F2 |
Go to next bookmark. | F2 |
Select to next bookmark. | Alt + F2 |
Find selection. | Ctrl + F3 |
Find selection backwards. | Ctrl + Shift + F3 |
Scroll up. | Ctrl + Up |
Scroll down. | Ctrl + Down |
Line cut. | Ctrl + L |
Line copy. | Ctrl + Shift + T |
Line delete. | Ctrl + Shift + L |
Line transpose with previous. | Ctrl + T |
Line duplicate. | Ctrl + D |
Find matching preprocessor conditional, skipping nestedones. | Ctrl + K |
Select to matching preprocessor conditional. | Ctrl + Shift + K |
Find matching preprocessor conditional backwards, skippingnested ones. | Ctrl + J |
Select to matching preprocessor conditional backwards. | Ctrl + Shift + J |
Previous paragraph. Shift extends selection. | Ctrl + [ |
Next paragraph. Shift extends selection. | Ctrl + ] |
Previous word. Shift extends selection. | Ctrl + Left |
Next word. Shift extends selection. | Ctrl + Right |
Previous word part. Shift extends selection. | Ctrl + / |
Next word part. Shift extends selection. | Ctrl + \ |
Files
Function | Shortcut Key |
---|
New file or project | Ctrl + N |
Open existing file or project | Ctrl + O |
Save current file | Ctrl + S |
Save all files | Ctrl + Shift + S |
Close current file | Ctrl + F4 / Ctrl + W |
Close all files | Ctrl + Shift + F4 / Ctrl + Shift + W |
CodeBlocks的Tab组件所提供的快捷键,这些快捷键不能重新绑定(rebound)。
Function | Shortcut Key |
---|
Activate next open file | Ctrl + Tab |
Activate previous open file | Ctrl + Shift + Tab |
View
Function | Shortcut Key |
---|
Show / hide Messages pane | F2 |
Show / hide Management pane | Shift + F2 |
Move project up (in Project tree) | Ctrl + Shift + Up |
Move project down (in Project tree) | Ctrl + Shift + Down |
Activate prior (in Project tree) | Alt + F5 |
Activate next (in Project tree) | Alt + F6 |
Zoom in / out | Ctrl + Roll Mouse Wheel |
Focus editor | CTRL + Alt + E |
Search
Function | Shortcut Key |
---|
Find | Ctrl + F |
Find next | F3 |
Find previous | Shift + F3 |
Find in files | Crtl + Shift + F |
Replace | Ctrl + R |
Replace in files | Ctrl + Shift + R |
Goto line | Ctrl + G |
Goto next changed line | Ctrl + F3 |
Goto previous changed line | Ctrl + Shift + F3 |
Goto file | Alt + G |
Goto function | Ctrl + Alt + G |
Goto previous function | Ctrl + PgUp |
Goto next function | Ctrl + PgDn |
Goto declaration | Ctrl + Shift + . |
Goto implementation | Ctrl + . |
Open include file | Ctrl + Alt + . |
Build
Function | Shortcut Key |
---|
Build | Ctrl + F9 |
Compile current file | Ctrl + Shift + F9 |
Run | Ctrl + F10 |
Build and Run | F9 |
Rebuild | Ctrl + F11 |
Debug
Function | Shortcut Key |
---|
Debug | F8 |
Continue debugging | Ctrl + F7 |
Step over a code block | F7 |
Step into a code block | Shift + F7 |
Step out of a code block | Ctrl + Shift + F7 |
Toggle breakpoint | F5 |
Run to cursor | F4 |
Previous error | Alt + F1 |
Next error | Alt + F2 |