Codeblocks使用技巧汇总

时间:2022-06-19 19:39:44

说明:以前经常用Visual Studio编程,用户体验果然是超赞,但是考虑到将来参加比赛时候没有VS可以使用,所以还是从现在开始改用Codeblocks吧。当然,工欲善其事,必先利其器。第一步学习Codeblocks的基础操作以及一些使用技巧是必须的。下面把这段时间学到的小技巧汇总如下:

注:标有绿色的地方是推荐经常使用的技巧

1.日常编辑

  • 按住Ctrl并滚滚轮会放大缩小文本。
  • Ctrl+Enter可以迅速将光标移至行尾。
  • Shift+Enter可以将光标直接跳到下一行。
  • Ctrl+D可以直接复制当前行的内容。
  • Ctrl+Z可以撤销上一次的操作。
  • Ctrl+L可以删除一行的内容。
  • F9可以直接build+run。
  • Shift+F7可以开始调试,然后按F7可以往下走。
  • Shift+F8可以停止调试。
  • 按住鼠标右键上下左右移动可以充当滚动条。
  • Ctrl+Shift+C注释掉当前行,Ctrl+Shift+X解除当前行注释。
  • 需要更大编辑空间时,F2和Shift+F2分别可以显隐下方Logs & others栏和左方的Management栏。
  •  文件路径最好不要含有中文,否则编译出错时无法定位!

   

2.自动完成与缩写

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...来插入一个方法的声明或定义。 


3. 导航相关

     • 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那里查看)。
其他:
    • General Settings中可以设置缩进、自动换行等细节。 
    • 让Code::Blocks永远记住你的Layout,尤其是debug的layout,善用debug工具栏。
    • 备份C:/Documents and Settings/[你的用户名]/Application Data/codeblocks/Default.conf,如遇重装,将其放在codeblocks.exe所在目录,就不会丢失你的配置;这样也可以 打造出Code::Blocks的绿色版。