C++那些事之高效率开发C++/C
1.神器
目前开发C++/C用的比较多的当属Vim、VS code、CLion。
Vim配上插件编写C/C++效率高的不少。
VSCode配上自定义配置及快捷键、vim插件效率跟vim旗鼓相当。
CLion因其独特的CMakeLists.txt管理方式及强大的代码补全等功能,编写本地代码绝对好于前两者。
但是对于编写远程代码、远程开发人员来说,VS code无疑是最牛逼的,当然直接黑窗口的Vim也是非常强大,但是当插件过多,臃肿之下的Vim便不在轻量,而VS code便是这几个编辑器的优选。
因此,本节给大家推荐VScode的一些高效率提升开发的方法。
2.VS code
2.1 快捷键
使用快捷键,对于开发及工作,可以提升很大效率,例如下面是我经常用到的,推荐给大家。下面将采取一问一答方式。
现在有个函数,有申明有定义,怎么进行跳转呢?
F12便可以解决这个问题。
文本查找及替换
分文全局与当前文件,当前文件直接ctrl+F,替换采用,ctrl+F+H。全局采用ctrl+shift+F,替换的时候是ctrl_+shift+H。
如何自定义快捷键?
只需要点击右下角->Keyboard Shortcuts->选择自己想要绑定的命令即可。
或者在配置文件keybindings.json中配置,例如:
{ "key": "ctrl+tab ctrl+tab", "command": "editor.action.addCommentLine", "when": "editorTextFocus && !editorReadonly" }
这样做便可以起到调其终端,并在不同终端之间进行切换,非常方便!自此就不需要用黑窗口的终端了。
以上就是基本的快捷键,然后我再配上Vim插件,直接插件市场搜这个即可,下载好,就可以使用Vim的一些命令,效率提升杠杠的!
2.2 高级配置
2.2.1 红色波浪线恼人
相信在开发C/C++的时候,有一个非常恼火的现象,就是满屏的红色。。。并且头文件还跳转不进去,但是呢却可以编译,哈哈,神奇。
这里给出一个通用的解决方案,那就是c_cpp_properties.json里面配置自己的头文件includePath里面配置上自己的头文件,例如:
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", //编译器路径 "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }
如果你的项目是CMakeLists.txt文件管理,那么有个更快捷的方式,
{ "configurations": [ { "name": "Linux", "defines": [], "compilerPath": "/bin/gcc", "compileCommands": "${workspaceFolder}/Build/compile_commands.json" } ], "version": 4 }
使用CMake生成的compile_commands.json文件,在这里面配上compileCommands,绝对没得红色波浪线,看着贼舒服,并且代码跳转爽歪歪。
2.2.2 任务及快捷键绑定
现在我有个脚本,我想在vscode里面按个快捷键就能执行,又或者我想编译我的CMake,想按个快捷键一下子就行了,这个怎么完成呢?
首先:在.vscode文件夹里面新建一个tasks.json文件,里面可以这样配置:
{ "version": "2.0.0", "tasks": [ { "label": "test", "type": "shell", "command": "./main", "args": [ "-O main", "main.cpp" ], "presentation": { "echo" : true, "reveal": "always", "focus": true, "panel": "shared", "showReuseMessage": true, "clear": true }, } ] }
然后配上快捷键绑定到这个命令:
{ "key": "ctrl+F6", "command": "workbench.action.tasks.runTask", "args": "Build", "when": "editorTextFocus" },
当你在main.cpp上按ctrl+F6的时候,此时终端下面显示:
Executing task: g++ '-Wall' '-std=c++11' 'main.cpp' -o main
是不是方便很多!
最后,你甚至不用配置,一个Code Runner插件直接搞定编译当前文件,那就是安装之后,右键会有一个Run Code,帅爆全场~
审核编辑:汤梓红
评论
查看更多