通过一中午和一下午的辛勤劳作,谢师傅又因工作不得不学习C++和相关的vscode知识。在此,谢师傅按先后顺序严谨客观的记录下每一步的细节步骤。
一、下载
二、环境变量配置
三、启动MinGW并下载相关的库文件
下载的库文件,同一存在放\MinGW\bin目录下,注意同时下载gdb,gcc,g++的所有相关文件。否则很容易由于缺失某一方面的库文件导致无法在vs code中充分使用相关功能。i.e. gdb与cpp debugger相关,尤其通过remote插件连接到Linux环境时,没有GDB库文件,无法与CMake一起作用在Linux环境中产生相关的.json文件,从而导致无法再Linux环境中调试。
(老实的谢师傅全下载了,反正D盘空间够用)
四、VS code中的配置
vscode中搭建C++环境和搭建python环境异曲同工。
保证已下载以下几个插件
# 快捷键调出命令行
Ctrl+Shift+P
# 在命令行输入以下命令
> C/C++: Edit Configurations (UI)
最重要的是在UI界面确保输入以下信息:
此处,我建议使用g++,由于此处我使用了g++,所以在C/C++ Compile Run(插件图第二个)的扩展设置中,我也保持统一,均使用g++.exe来进行编译运行和调试。
当我们完成C/C++ Compile Run的环境配置之后,在我们的项目文件夹下需创建一个c_cpp_properties.json文件。(谢师傅的是vscode自动创建的,因为不清楚生成缘由不做介绍。)
任何JSON文件,都是以键值对的形式,向windows终端启动g++.exe时传入形参的文件,用以调节g++.exe启动时的状态。
//c_cpp_Properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64",
"compilerPath": "D:/MinGW/bin/g++.exe",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
至此,我们可以开始运行任何自建的cpp文件。
点击右上角的三角形,或者通过终端->运行生成任务(ctrl+shift+B)均可。
五、通过JSON文件使用vs code调试cpp文件
进入运行和调试栏,准备开始配置JSON文件。
如果之前看其他帖子,勿写了CMakeList.txt的小伙伴按上面的方法找出C++[Windows]的配置文件。
CMakeList.txt文件是用在Linux系统里面的!谢师傅也是看了CMake文件才发现的。
而没有犯上述错误的小伙伴之间在调试和运行界面点击右侧栏目内部创建luanch.json文件,再选中C++(Windows)开始撰写对应的JSON配置文件。
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 启动",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/output/K_Smallest_Sums.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "gdb.exe",
"preLaunchTask": "compile",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
},
]
}
之后,再次在launch.json同一层文件夹内布编写另一个task,json文件用于调试。
task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "compile",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\output\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": [
"$gcc"
],
"detail": "Debugger",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
至此,整个项目文件夹的目录如下所示:
之后,各位小伙伴就可以快乐的编译运行和调试cpp文件了!
最后,介绍一种朴实但有用的搜索方式,相信很多不偷懒的小伙伴都知道:
进入该链接之后,可以随意搜索和观看json文件中任何可能的标签及其意思讲解。