VSCode扩展调试无法启动2个扩展宿主实例问题求助
目标
启动2个VSCode扩展宿主(extension host)实例,以调试Visual Studio Code扩展的网络通信功能。
问题(已尝试的解决方案)
- 参考GitHub issue给出的方案,复制启动配置、设置不同名称后分别运行,按指引将
launch.json修改为如下内容:
{ "version": "0.2.0", "configurations": [ { "name": "Run Extension", "type": "extensionHost", "request": "launch", "args": [ "--extensionDevelopmentPath=${workspaceFolder}" ], "outFiles": [ "${workspaceFolder}/out/**/*.js" ], "preLaunchTask": "${defaultBuildTask}" }, { "name": "Run Extension 2", "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}" } ] }
修改完成后,在「运行和调试」菜单左上角通过绿色三角启动按钮,分别点击运行「Run Extension」和「Run Extension 2」配置。「Run Extension」可成功启动1个扩展宿主实例,但启动「Run Extension 2」时,之前启动的扩展宿主会刷新并直接变为「Run Extension 2」对应的实例,最终仅保留1个活跃的扩展宿主,并未新增实例。
- 尝试连续两次点击「Run Extension」启动按钮,根据GitHub issue的描述,该操作本应可正常启动多实例。第二次点击按钮时会弹出提示“'Run Extension' is already running. Do you want to start another instance?”,点击「yes」后出现和第一种方案相同的问题:第二个扩展宿主直接替换第一个实例,无法同时运行两个。
根据GitHub issue中的讨论,该表现并非预期行为,上述两种方案均未达到预期效果。
可用但效率较低的解决方案
在Stack Overflow相关问题中找到可行方法:将扩展文件复制到VSCode扩展目录下即可实现多实例运行,但该操作流程繁琐、调试时修改代码需要反复同步文件,效率较低,因此希望找到更优的解决方案。
当前调试使用的扩展是VSCode官方入门教程提供的基础「Hello World」示例扩展。
内容的提问来源于stack exchange,提问作者Eisverygoodletter
相关产品推荐
相关产品推荐

