【发布时间】:2020-08-24 14:54:59
【问题描述】:
当我尝试在 VS Code 中构建 C 任务时,它显示以下消息:
输出只是显示:The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".
我仍然可以使用gcc 'filename.c' -o 'output.exe' 在 cmd 中手动构建我的 C 文件。转到Terminal -> Run Task 而不是使用快捷键 CTRL+SHIFT+B 似乎也可以。
我将 0.28.0-insiders2 C/C++ VS Code 扩展与 MinGW 一起使用。 VS Code 今天刚刚更新到 v. 1.45,我相信这可能是导致此错误的原因,因为我以前没有遇到过。
tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Makefile Debug_gcc",
"type": "shell",
"command": ["mingw32-make"],
"args": [
"--directory=${fileDirname}/",
"DEBUG=1",
"EXECUTABLE=${fileBasenameNoExtension}Debug"
]
},
{
"label": "Makefile Release_gcc",
"type": "shell",
"command": ["mingw32-make"],
"args": [
"--directory=${fileDirname}/",
"DEBUG=0",
"EXECUTABLE=${fileBasenameNoExtension}Release"
]
},
{
"label": "Release",
"type": "shell",
"command": "gcc",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}Release"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Debug",
"type": "shell",
"command": "gcc",
"args": [
"${file}",
"-g3",
"-o",
"${fileDirname}/${fileBasenameNoExtension}Debug"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Makefile Debug",
"type": "shell",
"command": ["del /S *.o"],
"dependsOn": [
"Makefile Debug_gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Makefile Release",
"type": "shell",
"command": ["del /S *.o"],
"dependsOn": [
"Makefile Release_gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Makefile Debug + Execute",
"type": "shell",
"command": "${fileDirname}/${fileBasenameNoExtension}Debug",
"dependsOn": [
"Makefile Debug"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Makefile Release + Execute",
"type": "shell",
"command": "${fileDirname}/${fileBasenameNoExtension}Release",
"dependsOn": [
"Makefile Release"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Debug Execute",
"type": "shell",
"command": "${fileDirname}/${fileBasenameNoExtension}Debug",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Release Execute",
"type": "shell",
"command": "${fileDirname}/${fileBasenameNoExtension}Release",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
}
]
}
【问题讨论】:
-
根据this issue comment,很快就会修复。
-
您需要更改“C-Cpp:更新频道”设置,在上面@Allan Chain的链接中查找muhammad-osaid-tekfocal的评论,或直接进入评论@ 987654322@ 之后您也可以更改设置,请参阅 Thomas 的评论(为我工作):github.com/microsoft/vscode-cpptools/issues/…
标签: c gcc visual-studio-code