错误:打字稿任务检测未为以下配置贡献任务

Emi*_*zer 2 typescript tsc visual-studio-code vscode-tasks

我尝试在task.json中放置一个用于打字稿类型task的路径:

{
    "version": "2.0.0",
    "tasks": [
        {   
            "identifier": "tsc-client", 
            "label": "tsc-client", 
            "type": "typescript",
            "tsconfig": "src/client/tsconfig.json",
            "problemMatcher": [
                "$tsc"
            ]
        },
        {   
            "identifier": "tsc-server", 
            "label": "tsc-server", 
            "type": "typescript",
            "tsconfig": "src/server/tsconfig.json",
            "problemMatcher": [
                "$tsc"
            ]
        },
        {
            "identifier": "build-all",
            "label": "build-all",
            "dependsOn": ["tsc-client", "tsc-server"]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后在我的launch.json中,我有:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "preLaunchTask": "tsc-client",
            "name": "Launch Program",
            "program": "${workspaceFolder}/server/server-repsic.js"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我大声说,我得到:

Error: The typescript task detection didn't contribute a task for the following configuration:
{
    "identifier": "tsc-server",
    "label": "tsc-server",
    "type": "typescript",
    "tsconfig": "src/server/tsconfig.json",
    "problemMatcher": [
        "$tsc"
    ]
}
The task will be ignored.
Run Code Online (Sandbox Code Playgroud)

我检查在根路径中是否有src/server/tsconfig.jsonsrc/client/tsconfig.json。我也在控制台输入它:

tsc -p src/client/tsconfig.json
Run Code Online (Sandbox Code Playgroud)

并且命令运行正常。

小智 6

我在这里可能有点晚了,但这可能会对其他人有所帮助。

我遇到了完全相同的问题,经过一番修补后,我通过用路径中的/双反斜杠替换正斜杠解决了该问题\\

例如,替换

"tsconfig": "src/server/tsconfig.json",
Run Code Online (Sandbox Code Playgroud)

通过

"tsconfig": "src\\server\\tsconfig.json",
Run Code Online (Sandbox Code Playgroud)

免责声明:我仅在Windows上进行了测试。考虑到正斜杠是所有其他平台的标准,这可能不适用于其他平台:/。


Pet*_*pin 5

在我的情况下,问题是由于 VSCode 没有即时读取 tasks.json 造成的。即,当我更改tasks.json 时,我必须重新启动VSCode。重启后一切正常。这是一个类似的讨论,他们说:

有一个问题,如果之前没有启动任务,tasks.json 在更改后没有被重新解析。这是在下一个版本中修复的。但是看起来人们即使不编辑tasks.json也能得到这个。

该评论是在 2017 年添加的,但看起来重启问题尚未解决(我有 VSCode 1.32.1)。