VSCode是一个轻量级的编辑器,在学习编程或需要处理单个代码文件时有很大的优势,但其劣势也非常明显————配置过于麻烦,所以今天介绍VSCode的C++配置。
Windows下比较出名的C++编译器有MinGW和MSVC,前者是将GCC编译器和GNU Binutils移植到Win32平台下的产物(MinGW压缩包.zip),后者则是Microsoft开发的编译工具,虽然在Windows平台下速度要比MinGW快,但是体积较大(Visual Studio 2019 生成工具),二者选其一即可。
MinGW的设置还是很简单的,找到的MinGW的安装路径,将其和文件夹下的bin加入系统变量path中(如图1)
在cmd中打入gcc -v,出现版本号即可。
在VSCode中安装C/C++支持(VSCode的C/C++支持),重新载入后打开一个文件夹,新建一个cpp文件,按f5运行会让你选择环境和任务,选择完成后会有默认配置(launch.json)出现,如果上面MinGW路径正确,则不需要修改,直接关闭再按f5一次,
就可以运行了。如果还需要其他操作可以自己摸索launch.json文件。
这里贴上我的launch.json文件和tasks.json文件:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "GCC Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file"
}
]
}
{
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe"
],
"options": {}
}
],
"version": "2.0.0"
}
下载vs开发工具并按默认安装后找到MSVC的文件夹(可能比较难找,不过大概是这个样子:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\)。将其目录下的含有cl.exe文件目录放在系统变量path中(例如:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\bin\Hostx64\x64)
MSVC还需要两个变量:INCLUDE和LIB
INCLUDE:(版本号可能不同,按自己的修改)
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt
LIB:
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64
进入VSCode里设置,只需要改我注释的即可,参数可以参考john_crash的这篇MSVC编译参数。
tasks.json:
{
"tasks": [
{
"type": "shell",
"label": "cpp.exe build active file",
"command": "cl", //command改为cl
"args": [ //args只需要一句${file}即可运行,其他参数参考 MSVC 参数表
"/Ot",
"/MP",
"/Zi",
"/EHsc",
"${file}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
],
"version": "2.0.0"
}
以及我的launch.json文件:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"preLaunchTask": "cl.exe build active file"
}
]
}