对于Ubuntu Linux 20.04 LTS(但在其他操作系统上可能是一样的),preLaunchTask对我起作用的是使用本地tasks.json和launch.json
所以我的文件夹结构(预构建)是:
.vscode/launch.json.vscode/tasks.json距离src/索引.tspackage.json包tsconfig.json(配置.json)
我的launch.json包含:
{“配置”:[{“type”:“节点”,“request”:“launch”,“name”:“TS预启动任务构建”,“程序”:“${file}”,“preLaunchTask”:“tsc:build”,“outFiles”:[“${workspaceFolder}/dist/**/*.js”],“跳过文件”:[“<node_internals>/**”,“node_modules”,]},]}
My tasks.json包含:
{“版本”:“2.0.0”,“任务”:[{“type”:“外壳”,“命令”:“echo hello yes working!”,“problemMatcher”:[],“label”:“myTask”},{“type”:“typescript”,“tsconfig”:“tsconfig.json”,“problemMatcher”:[“$tsc”],“组”:“构建”,“label”:“tsc:build”},]}
我的tsconfig.json包含:
{“编译器选项”:{“outDir”:“./dist”,“sourceMap”:true,“target”:“es5”,“模块”:“commonjs”},“包括”:[“src/**/*”]}
用法:当在index.ts中设置断点时,只需点击F5
我还包含了另一个任务“myTask”,您可以将launch.json中的preLaunchTask行更改为:“preLaunchTask”:“myTask”,
(在这里,它将向控制台输出一些文本,以验证preLaunchTask是否正在工作)
这样,如果仍有问题,可以查看问题是在tsconfig设置中,还是在preTaskLaunch设置中。
(我本以为它应该自己解决这个问题,但显然在编写本文的当前时间还没有解决——但(对我来说)确实有优势,可以基于项目而不是全局配置将调试配置提交给repo)