TypeScript开发VS Code扩展时构建不结束、无扩展宿主窗口如何排查?

如下图所示,执行VS Code TypeScript扩展的调试启动流程时,构建环节一直卡着不结束,也不会弹出扩展开发宿主窗口:
- 把环境里所有其他VS Code扩展都禁用了,问题还是存在
- 同个环境同个配置下,用JavaScript建同类型的扩展项目完全没问题,只要是TypeScript的项目就会触发这个问题
- 完全跟着官方入门步骤搭建项目,甚至直接使用官方提供的Hello World扩展示例,都能稳定复现这个问题
初步排查情况
- 手动执行命令
code --extensionDevelopmentPath="我的项目路径"直接打开扩展开发宿主窗口,运行完全正常。据此推测问题不在项目本身,是VS Code的部分配置衔接出了问题 - 初步判断问题和
npm: watch这类后台监听任务的配置匹配有关,但不清楚这类配置的位置、也不知道该怎么调整,想咨询对应的排查思路
实际使用的配置
tasks.json 配置
{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "watch", "problemMatcher": "$tsc-watch", "isBackground": true, "presentation": { "reveal": "never" }, "group": { "kind": "build", "isDefault": true } } ] }
launch.json 配置
{ "version": "0.2.0", "configurations": [ { "name": "Run Extension", "type": "extensionHost", "request": "launch", "args": [ "--extensionDevelopmentPath=${workspaceFolder}" ], "outFiles": [ "${workspaceFolder}/out/**/*.js" ], "preLaunchTask": "${defaultBuildTask}" }, { "name": "Extension Tests", "type": "extensionHost", "request": "launch", "args": [ "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" ], "outFiles": [ "${workspaceFolder}/out/test/**/*.js" ], "preLaunchTask": "${defaultBuildTask}" } ] }
后续验证发现
测试确认,只要在launch.json文件中注释掉 "preLaunchTask": "${defaultBuildTask}" 这行配置,构建流程挂起、扩展窗口不弹出的问题就会消失。
内容的提问来源于stack exchange,提问作者Mohammad Mostafa Dastjerdi
相关产品推荐
相关产品推荐

