【发布时间】:2020-07-31 13:32:07
【问题描述】:
我正在使用带有 MinGW-w64 的 Visual Studio Code。这涉及创建两个文件(launch.json 和 tasks.json),它们允许我构建和调试我的 C++ 代码。我通过转到终端 --> 配置默认构建任务...然后选择“C/C++:g++.exe 构建活动文件”来选择我的 tasks.json 文件。
通常,tasks.json 文件如下所示:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
但是,最近几天出现了如下情况:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file",
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
当文件采用这种格式时,我无法调试我的代码。相反,我收到消息“找不到任务 'g++.exe 构建活动文件'。
唯一明显的区别是 C/C++ 现在在 "label" 行中位于 g++.exe build active file 之前。删除此标签后,我就可以获取代码进行编译和/或调试。
这导致我问两个问题:首先,为什么C/C++ 会被插入标签中?它没有出现在使用 Visual Studio 代码设置 MinGW 的 Microsoft 文档中:https://code.visualstudio.com/docs/cpp/config-mingw
其次,我怎样才能从我的标签中永久删除C/C++,这样我就不必每次都手动删除它?我尝试在下拉菜单的配置默认构建任务中选择 C/C++:g++.exe 构建活动文件旁边的配置任务;删除 C/C++,然后保存 tasks.json 文件,但这似乎不会导致构建任务永久更改。
一如既往地感谢您的帮助。
【问题讨论】:
标签: c++ json debugging visual-studio-code task