[英]C/C++ VS Code extension throwing build error: “The task provider for ”C/C++“ tasks unexpectedly provided a task of type ”shell“.”
当我尝试在 VS Code 中构建 C 任务时,它显示以下消息:
Output 只是显示了这一点: 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,我相信这可能是这个错误的原因,因为我以前没有得到它。
任务.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"
]
}
]
}
导航到.vscode ->并在其中添加以下两个文件。 这是我的文件 vs 代码文件,用于编译、调试和运行c 代码。
任务.json
{
"tasks": [
{
"type": "shell",
"label": "gcc.exe build active file",
"command": "F:\\MinGW\\bin\\gcc.exe",//Mention directory to gcc compiler
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "F:\\MinGW\\bin"//Mention dir to bin foler of Mingw
}
},
{
"type": "shell",
"label": "gcc build & run active file",
"command": "F:\\MinGW\\bin\\gcc.exe",//Dir to gcc compiler
"args": [
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"&&",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "F:\\MinGW\\bin"//Dir to Mingw's bin folder
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
发射.json
{
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false, //set to true to see output in cmd instead
"MIMode": "gdb",
"miDebuggerPath": "F:\\MinGW\\bin\\gdb.exe",//Mention the path to gdb inside bin folder of Mingw
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "gcc.exe build active file"
},
{
"name": "gcc build & run active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false, //set to true to see output in cmd instead
"MIMode": "gdb",
"miDebuggerPath": "F:\\MinGW\\bin\\gdb.exe",//Mention the path to gdb inside bin folder of Mingw
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "gcc build & run active file"
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.