Visual Studio Code虽然只是一款编辑器,但是通过合理配置后也可以和Windows下的Visual Studio IDE一样,只需按F5即可实现编译,运行,调试一条龙服务,免去了Linux下开发C/C++的各种繁琐操作。
我在ubuntu20.04也搭载过步骤一样,其他发行版应该也只有安装命令不同
官网:https://code.visualstudio.com/
注意选择自己发行版对应的包
下载完后右键安装即可,成功安装后终端输入code --version
可以查看到版本号
sudo apt update
sudo apt install build-essential gdb
成功安装后可以查到版本号
sudo apt install cmake
成功安装后可以查到版本号
mkdir test01 #创建一个目录test01
cd test01 #进入test01
code . #VSCode打开当前目录
VSCode打开后先安装插件。
安装完成后按快捷键Ctrl+Shift+e
回到文件管理列表,创建build目录,hello.cpp和CMakeLists.txt文件。
注意:
CMakeLists.txt
必须是这个命名,注意大小写
//hello.cpp
#include
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)
然后选择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
文件,如果"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函数第一行打一个断点。此文只是以最简单的单文件工程来演示VSCode的一键编译调试,后续可深入研究学习的内容: