准备
- 安装 VSCode 及 C++ 插件。
- 通过 MSYS2 安装 MinGW-w64 工具链,为您提供必要的工具来编译代码、调试代码并配置它以使用IntelliSense。参考:Windows 中的 Linux 开发工具链
验证安装:
gcc --version
g++ --version
gdb --version
三个核心配置文件
- tasks.json: 用于设置编译指令
- launch.json: 用设置调试指令
- c_cpp_properties.json 编译器及: IntelliSense 设置
tasks.json 编译调试单个文件
VSCode 检测到 C++ 文件,第一次运行程序时, C++ 插件根据选择的编译器创建一个 task.json
文件,您可以在项目 .vscode
文件夹中找到。
"type": "cppbuild",
"label": "编译C++文件",
"command": "D:\\program\\msys64\\ucrt64\\bin\\g++.exe",
"args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"
],
该任务指示 g++ 获取当前活动文件(${file}
),对其进行编译,并在当前文件所在目录(${fileDirname}
)中生成一个输出文件(通过 -o
选项)。输出文件的名称与当前活动文件的主文件名相同,仅扩展名改为 .exe
( ${fileBasenameNoExtension}.exe
)。该操作将生成 <file_name>.exe
。
通过 launch.json 定制调试行为
默认情况下会自动生成调试配置。在某些情况下,你可能希望自定义调试配置,例如指定要在运行时传递给程序的参数,这通过 launch.json 文件来实现。
可通过在运行和调试界面添加配置实现,选择c++(gdb)
启动,会自动生成 launch.json 文件。
{"configurations": [{"name": "编译并调试c++文件", // 任务名称"type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "编译C++文件" // 前置任务}],"version": "2.0.0"
}
三、更多设置 c_cpp_properties.json
如果您希望对C/C++扩展有更多的控制,您可以创建一个c_cpp_properties.json
文件,它将允许您更改设置,例如编译器的路径,包括路径,c++标准(默认是c++ 17)等。Ctrl+Shift+P
在命令面板中输入“C/C++: Edit Configurations(UI)”,可以查看C/C++配置界面。
{"configurations": [{"name": "GCC","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG", "UNICODE", "_UNICODE"],"windowsSdkVersion": "10.0.22000.0",// 推断c++标准库头文件的路径。当扩展知道在哪里可以找到这些文件时,它可以提供智能补全和Go to Definition导航等功能。"compilerPath": "D:/program/msys64/ucrt64/bin/g++.exe", "cStandard": "c17","cppStandard": "c++20","intelliSenseMode": "windows-gcc-x64"}],"version": 4
}
插件
可以通过安装 C/C++ Runner
插件,自动生成配置文件,并可视化操作(如切换编译路径、通过点击按钮编译、运行、调试)