以下是在VSCode中配置C++项目编译和调试选项的详细步骤:
一、配置编译选项(tasks.json)
- 打开命令面板创建tasks.json文件- 在VSCode中,可以通过按下
Ctrl + Shift + P
(Windows和Linux)或Command + Shift + P
(macOS)打开命令面板。- 在命令面板中输入“Tasks: Configure Default Build Task”,然后按回车键。- 选择适合你的编译器,例如在使用GCC编译器(MinGW - w64)的Windows系统下,选择“C/C++: g++.exe build active file”。这将在项目的.vscode
文件夹下创建一个tasks.json
文件。 - 修改tasks.json文件内容- 指定编译器路径: - 在
tasks.json
文件中,找到"command"
字段,它应该指向你的C++编译器可执行文件的路径。例如,在Windows下使用MinGW - w64时,如果编译器安装在C:\MinGW\bin\g++.exe
,则"command"
的值应为"C:\MinGW\bin\g++.exe"
。- 设置编译参数: -"args"
字段用于设置编译参数。常见的参数有: --g
:用于生成调试信息,这在调试时是必需的。-"${file}"
:表示当前活动的C++源文件。--o
:用于指定输出文件。例如,"${fileDirname}\\${fileBasenameNoExtension}.exe"
表示将编译生成的可执行文件放在与源文件相同的目录下,并且文件名与源文件基本名相同(去掉.cpp
扩展名)。- 示例tasks.json文件(Windows下使用MinGW - w64编译单个文件):{"version":"2.0.0","tasks":[{"type":"cppbuild","label":"C/C++: g++.exe build active file","command":"C:\\MinGW\\bin\\g++.exe","args":["-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options":{"cwd":"C:\\MinGW\\bin"},"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true}}]}
- 如果是Linux系统,使用系统自带的g++
编译器,tasks.json
文件可能如下:{"version":"2.0.0","tasks":[{"type":"cppbuild","label":"C/C++: g++ build active file","command":"g++","args":["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}"],"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true}}]}
二、配置调试选项(launch.json)
- 打开命令面板创建launch.json文件- 同样通过
Ctrl + Shift + P
(Windows和Linux)或Command + Shift + P
(macOS)打开命令面板。- 在命令面板中输入“Debug: Add Configuration”,然后按回车键。- 选择适合你的调试配置,例如“C/C++: (gdb) Launch”。这将在项目的.vscode
文件夹下创建一个launch.json
文件。 - 修改launch.json文件内容- 指定可执行文件路径: - 在
launch.json
文件中,找到"program"
字段,它应该指向编译后生成的可执行文件的路径。例如,"${fileDirname}\\${fileBasenameNoExtension}.exe"
(Windows)或"${fileDirname}/${fileBasenameNoExtension}"
(Linux)。- 设置调试前的任务(编译任务): -"preLaunchTask"
字段用于指定在调试启动前需要执行的任务,通常设置为之前创建的编译任务的"label"
值。例如,如果tasks.json
中的编译任务的"label"
是“C/C++: g++.exe build active file”,则"preLaunchTask"
的值应为“C/C++: g++.exe build active file”。- 指定调试器路径(如果需要): - 在使用GDB调试器(如在使用GCC编译时)的情况下,找到"miDebuggerPath"
字段(在Windows下需要指定),它应该指向GDB可执行文件的路径。例如,在Windows下使用MinGW - w64时,如果GDB安装在C:\MinGW\bin\gdb.exe
,则"miDebuggerPath"
的值应为"C:\MinGW\bin\gdb.exe"
。- 示例launch.json文件(Windows下使用MinGW - w64编译和调试单个文件):{"version":"0.2.0","configurations":[{"name":"C/C++: g++.exe build and debug active file","type":"cppdbg","request":"launch","program":"${fileDirname}\\${fileBasenameNoExtension}.exe","args":[],"stopAtEntry":false,"cwd":"${workspaceFolder}","environment":[],"externalConsole":true,"MIMETypes":["text/x - c++src","text/x - cppsrc"],"preLaunchTask":"C/C++: g++.exe build active file","miDebuggerPath":"C:\MinGW\bin\gdb.exe"}]}
- 对于Linux系统的示例:{"version":"0.2.0","configurations":[{"name":"C/C++: g++ build and debug active file","type":"cppdbg","request":"launch","program":"${fileDirname}/${fileBasenameNoExtension}","args":[],"stopAtEntry":false,"cwd":"${workspaceFolder}","environment":[],"externalConsole":true,"MIMETypes":["text/x - c++src","text/x - cppsrc"],"preLaunchTask":"C/C++: g++ build active file"}]}
本文转载自: https://blog.csdn.net/alankuo/article/details/142673548
版权归原作者 alankuo 所有, 如有侵权,请联系我们删除。
版权归原作者 alankuo 所有, 如有侵权,请联系我们删除。