我尝试在tasks.json中为typescript类型任务添加一个路径:
{
"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"]
}
]
}
然后在我的launch.json中我有:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"preLaunchTask": "tsc-client",
"name": "Launch Program",
"program": "${workspaceFolder}/server/server-repsic.js"
}
]
}
我告诉它并获得:
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.
我在根路径中检查了src/server/tsconfig.json
和src/client/tsconfig.json
。我也在控制台中输入它:
tsc -p src/client/tsconfig.json
并且命令正常。
答案 0 :(得分:4)
我在这里可能有点晚了,但这可能对其他人有帮助。
我有完全相同的问题,经过一些修补,我通过在路径中用双向后斜杠/
替换正斜杠\\
来解决问题。
例如,替换
"tsconfig": "src/server/tsconfig.json",
通过
"tsconfig": "src\\server\\tsconfig.json",
免责声明:我只在Windows上测试过。考虑到正斜杠是所有其他平台的标准,这可能不适用于其他平台:/。
答案 1 :(得分:2)
在我的情况下,问题是由VSCode不能即时读取task.json来解决的。即更改task.json时,我必须重新启动VSCode。重新启动后,一切正常。 Here is a similar discussion,他们说:
存在一个问题,即如果之前没有启动任务,则更改后无法重新解析task.json。在下一版本中已修复。但是看起来,即使不编辑task.json,人们也能做到这一点。
该评论于2017年添加,但似乎重新启动的问题尚未解决(我有VSCode 1.32.1)。
答案 2 :(得分:0)
我只是遇到了一个反问题,即@Benjamin Blois在上面报告了这个问题,tasks.json中的打字稿任务路径中的所有向后双斜杠现在都必须用正斜杠替换。对我来说很好,那是更具可读性的方式,不需要转义,等等。
有:
{ ... "tsconfig": "src\\project-foo\\tsconfig.json" ... }
更改为:
{ ... "tsconfig": "src/project-foo/tsconfig.json" ... }