我正在https://code.visualstudio.com/docs/languages/typescript
处理Typescript简介当我尝试Run Build Task
并选择tsc: build
时,VSCode会尝试以下操作:
Executing task: tsc -p c:\work\JavascriptTypescript\test-apr-2018\tsconfig.json <
error TS5058: The specified path does not exist: 'c:workJavascriptTypescripttest-apr-2018tsconfig.json'.
The terminal process terminated with exit code: 1
尝试使用tsconfig.json文件的完整路径,然后从该路径中删除斜杠。显然,这不会找到正确的文件。
如果我从命令行手动发出tsc -p tsconfig.json
,tsc
可以正常工作。
这看起来像VSCode配置错误,但我是VSCode的新手,不知道如何解决它。
答案 0 :(得分:3)
这是一个已知问题(截至2018-04-20),在Windows上使用VSCode并将Git Bash作为终端。请参阅https://github.com/Microsoft/vscode/issues/35593。
切换到终端的CMD是一种解决方法。所以如上所述手动调用tsc。
答案 1 :(得分:2)
只需将任务的外壳更改为 cmd.exe
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\cmd.exe"
现在您可以将 bash
作为终端的 shell 并使用 cmd.exe
Can a task use a different shell than the one specified for the Integrated Terminal?
答案 2 :(得分:0)
解决此问题的另一种方法是创建一个运行tsc的npm脚本,然后在VSCode launch.json中运行该脚本。
package.json:
"scripts": {
"debug": "tsc --sourcemap"
},
.vscode / launch.json:
{
"type": "node",
"request": "launch",
"name": "Debugger",
"program": "${workspaceFolder}/app.ts",
"preLaunchTask": "npm: debug",
"outFiles": [
"${workspaceFolder}/*.js"
]
}
答案 3 :(得分:0)
如果键入命令: “ tsc -p c:\ work \ JavascriptTypescript \ test-apr-2018 \ tsconfig.json” 在gitbash中,您将得到相同的错误。 如果将其更改为“ tsc -p c:/work/JavascriptTypescript/test-apr-2018/tsconfig.json” 会起作用