Linux下使用VSCode和CMake搭载C/C++开发环境
一. 开发环境介绍
1. 最终目的
Visual Studio Code虽然只是一款编辑器,但是通过合理配置后也可以和Windows下的Visual Studio IDE一样,只需按F5即可实现编译,运行,调试一条龙服务,免去了Linux下开发C/C++的各种繁琐操作。
2. 所使用的工具介绍
- Linux系统:这里通过Deepin20.1演示
我在ubuntu20.04也搭载过步骤一样,其他发行版应该也只有安装命令不同
- Visual Studio Code
- GCC编译器
- GDB调试器
- CMake工具
二. 开发工具安装
1. Visual Studio Code
官网:https://code.visualstudio.com/
注意选择自己发行版对应的包
下载完后右键安装即可,成功安装后终端输入code --version
可以查看到版本号
2. 安装编译器和调试器
sudo apt update
sudo apt install build-essential gdb
成功安装后可以查到版本号
3. 安装CMake
sudo apt install cmake
成功安装后可以查到版本号
三. 开发环境配置
1. 创建测试目录并用VSCode打开
mkdir test01 #创建一个目录test01
cd test01 #进入test01
code . #VSCode打开当前目录
VSCode打开后先安装插件。
搜索C/C++和CMake把下面3个插件安装了。
2. 编写cpp和CMake文件
安装完成后按快捷键Ctrl+Shift+e
回到文件管理列表,创建build目录,hello.cpp和CMakeLists.txt文件。
注意:
CMakeLists.txt
必须是这个命名,注意大小写
//hello.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cout << "Hello Linux!" << endl;
cout << "hello VSCode!" << endl;
return 0;
}
#CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(test01)
#编译配置选择"Debug"才能调试
set(CMAKE_BUILD_TYPE "Debug")
#set(CMAKE_BUILD_TYPE "Release")
#将hello.cpp生成test01可执行文件
add_executable(test01 hello.cpp)
3. 编写json脚本实现一键自动化编译调试
- tasks.json
然后选择C/C++: g++ 生成活动文件
,复制以下内容到tasks.json
文件。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}/build"
},
"tasks": [
{
"label": "cmake",
"type": "shell",
"command": "cmake",
"args": [".."]
},
{
"label": "make",
"type": "shell",
"command": "make",
},
{
//对应launch.json里的"preLaunchTask": "Build"
//调试前执行cmake和make两条终端命令实现自动编译
"label": "Build",
"dependsOrder": "sequence",
"dependsOn":[
"cmake",
"make"
],
}
]
}
- launch.json
复制以下内容到launch.json
文件,如果"externalConsole": false
这行报错,注释掉就好。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/test01",//可执行文件的位置!
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
//下面这行是调试前需要执行的任务,对应上面tasks.json里的Build
"preLaunchTask": "Build"
}
]
}
四. 编译和调试工程
- 回到
hello.cpp
,在main函数第一行打一个断点。
- 按下F5后会自动进行编译,最后进入调试模式,在下方输出窗口选择VSCode内置的终端。
- 按F10运行下一步,TERMINAL可以看到输出结果。
- 按F10运行下一步。
- 最后按F5程序运行到最后并结束。
五. 总结
此文只是以最简单的单文件工程来演示VSCode的一键编译调试,后续可深入研究学习的内容:
- gcc/g++编译器和GDB调试器在终端下的用法
- CMake生成makefile的方法
- 编写适合自己工程的json脚本