本文参考Get Started with C++ on Linux in Visual Studio Code,来源微软官方教程。为了便于大家快速上手掌握VSCode配置C++的过程,用中文展开来具体说说。
在使用C++之前,需要先配置C++调试环境。这里我们需要两种package,一个是GCC关于C++的编译器,和GDB调试器(debugger)。而在最初安装好Ubuntu系统时,是不自带这些package的,需要我们先自己安装。在安装完它们之后,然后编写JSON配置文件,最后编写简单的C++程序,并查看是否配置好。
1确认GCC等有无安装
右键桌面选中打开终端,在命令行中键入
gcc -v
上图是已安装GCC的情况。
如果GCC未安装,在保证联网的条件下,输入
sudo apt-get update
更新Ubuntu包列表,然后用以下命令安装GNU编译工具及GDB调试器
sudo apt-get install build-essential gdb
2创建简单C++程序
首先可以在主目录里创建一个C程序文件夹,然后在其中创建一个用于存放一个C++工程的文件夹,比方叫TestFromMicrosoft。然后打开VScode,在文件浏览界面导入该文件夹,创建一个.cpp文件,如test.cpp。
然后粘贴以下测试程序:
#include
#include
#include
using namespace std;
int main()
{
vector msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
然后保存该文件及工程。
3配置JSON文件
这里需要在子文件夹.vscode下配置三个.json文件,第一个是tasks.json文件,其功能是告诉VSCode如何去构建或编译我的程序。当然这个任务完成需要使用g++编译器来根据源代码创建一个可执行文件(.out);第二个是launch.json,其功能是在你调试程序启动的时候启动GDB调试器;第三个是c_cpp_properties.json。但是这个文件不是必须要配置的,如果想要更多关于C++的控制功能的话可以选择创建。这个配置文件可以允许你改变例如编译器的路径等设置,当然包括路径、C++标准(默认是C++17)等等。
它们在文件列表里的显示关系如下:
把它们复制到各自的配置文件里即可:
//tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
//launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
//c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": ["${workspaceFolder}/**"],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
然后点击启动调试,查看终端界面,输出如下信息:
表明C++调试环境配置配置完毕!
当然如果想要外部控制台输出的话,可以将配置文件launch.json中的externalConsole项改为true即可。