Visual studio code 如何为Chrome(或Edge)扩展设置调试器,以正确地中断wwwroot外部提供的源文件?
我的项目安排如下:Visual studio code 如何为Chrome(或Edge)扩展设置调试器,以正确地中断wwwroot外部提供的源文件?,visual-studio-code,microsoft-edge,chromium,Visual Studio Code,Microsoft Edge,Chromium,我的项目安排如下: ${workspaceFolder} /wwwroot /res /res目录用于通过安全控制器提供文件 我的问题是通过“Chrome调试器”(或Edge)扩展在VS代码中进行源代码调试 如果我在VS代码中的JS文件中放置断点,如果该文件位于wwwroot目录下(它在源代码中的该点停止),它将正常工作 但是,如果js文件是从/res目录(web浏览器中的/res)提供的,VS代码将打开该文件的一个新实例,而不是源实例 我认为我需要为调试器执行某种目录映射,以便将其转
${workspaceFolder}
/wwwroot
/res
/res目录用于通过安全控制器提供文件
我的问题是通过“Chrome调试器”(或Edge)扩展在VS代码中进行源代码调试
如果我在VS代码中的JS文件中放置断点,如果该文件位于wwwroot目录下(它在源代码中的该点停止),它将正常工作
但是,如果js文件是从/res目录(web浏览器中的/res)提供的,VS代码将打开该文件的一个新实例,而不是源实例
我认为我需要为调试器执行某种目录映射,以便将其转换为${workspaceFolder}/res以调试源文件,但我不确定正确的设置(可能需要设置sourceMapPathOverrides,但我的尝试已失败)。我使用了错误的命令路径映射是我需要使用的 下面的launch.json配置允许我中断位于wwwroot之外的源文件(在本例中为/res)
调试器使用sourcemaps允许您使用原始源进行调试,但有时sourcemaps生成不正确,需要重写。在配置中,我们支持sourceMapPathOverrides,即从sourcemap到磁盘上这些源位置的源路径映射。当sourcemap不准确或无法在构建过程中修复时,此功能非常有用。Ref:我知道源映射覆盖,并且尝试使用该命令(如我的问题中所述)但没有效果。几乎完全缺乏语法和变量文档,以及解释得不好的与标准路由无关的示例,这令人困惑。我尝试过“sourceMapPathOverrides”:{“/res/*”:“${workspaceFolder}/res/*”}我建议您在他们的github repo上创建问题。裁判:
{
"name": "Launch localhost in Microsoft Edge (Chromium) Canary",
"type": "edge",
"request": "launch",
"version": "canary",
"url": "http://127.0.0.1:5100/test.html",
"webRoot": "${workspaceFolder}/wwwroot",
"pathMapping": {
"/res": "${workspaceFolder}/res"
}
}