gpt4 book ai didi

C/C++ VS Code 扩展抛出构建错误 : "The task provider for "C/C+ +"tasks unexpectedly provided a task of type "shell"."

转载 作者:行者123 更新时间:2023-12-04 04:26:04 27 4
gpt4 key购买 nike

当我尝试在 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,我相信这可能是导致此错误的原因,因为我以前没有遇到过。

任务.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 -> 并在那里添加以下两个文件。这是我用于编译、调试和运行的文件与代码文件 c代码 .
task.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
}
}
]
}
launch.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"
}
]
}

关于C/C++ VS Code 扩展抛出构建错误 : "The task provider for "C/C+ +"tasks unexpectedly provided a task of type "shell".",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61689508/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com