Linux/Ubuntu系统下使用VS Code配置C/C++开发环境
在Ubuntu下,使用VS Code来编辑代码或进行开发非常方便,下面记录一下如何配置gcc/g++编译器和GDB调试工具。macOS下使用VS Code配置gcc、gdb搭建C/C++开发环境,见 macOS系统下
准备工作:
1. 安装VS Code,过程略。
2. 为VS Code安装C/C++ Extension Pack 扩展组件,其他插件会附带安装
3. Ubuntu系统自带g++和gdb,查看一下
配置环境:
VS Code 与 Visual Studio或其他的大型IDE的工作机制类似,一般都是每个project有一个单独的工作空间(也就是目录),可以为每个工作空间配置定制的环境,也可以配置默认的环境。在配置C/C++开发环境时,基本会配置3个文件,tasks.json、launch.json及c_cpp_properties.json,三个文件都在 .vscode目录下。
打开一个目录W_CPP,写一个 test.cc 程序,处于编辑状态
1. 编译
为当前工作目录配置编译环境,我们需要创建一个tasks.json文件来告诉VS Code如何来编译源文件,选择 Terminal --> Configure Tasks,然后点击C/C++: g++ build active file,会自动生成一个tasks.json,根据自己的需求来修改,tasks.json是为整个目录配置环境,不需要修改诸如 “${fileDirname}” 这样的变量,“type”可以改成“shell”,不能任意; “label”是task的名称,可以随意,但要与launch.json文件中的变量“preLaunchTask”设置一致; “command” 来指定编译器名,可以不带绝对路径。变量参考详见官方文档
配置完成后,可以选择 Terminal --> Run Build Task 来编译源文件,生成可执行文件。
2. 调试
创建一个launch.json文件来配置调试环境,选择Run --> Add Configuration,会自动生成一个launch.json,点击右下角的Add Configuration来选定要加入的配置C/C++: (gdb) Launch(VS Code版本不同,方式有些变化),“program”表示需要调试的文件,下面设置为工作目录 ${fileDirname} 中的 ${fileBasenameNoExtension} ,当test.cc处于打开状态时,编译得到的test会被调试,“stopAtEntry”默认为false, 运行调试时,debugger不会在源文件中添加断点,设置为true时,调试会在main函数入口处等待。
3. 配置补充
想要进行更多的配置,例如设置编译器路径、改变C++标准等,可以创建一个c_cpp_properties.json文件,使用 ctrl+shift+P 打开命令搜索,找到并选择C/C++:Edit Configurations(JSON),会自动创建一个c_cpp_properties.json文件,按自己需要修改变量即可。
Enjoy it!