VSCode多根工作区如何配置skipFiles跳过工作区上级目录的文件
问题原因
你当前配置的${workspaceFolder}变量指向的是frontend工作区的根目录(即myproject/myproject-frontend/),而你遇到的无法跳过的.ts文件是webpack sourcemap生成的虚拟路径,路径前缀是总项目根myproject/,原有规则匹配不到该路径范围,所以无法生效。
解决方案
方案1:直接扩展skipFiles匹配范围
修改myproject-frontend/.vscode/launch.json中的skipFiles配置,新增匹配总项目根目录下.ts文件的规则即可:
"skipFiles": [ "<node_internals>/**/*.js", "${workspaceFolder}/**/node_modules/*", "${workspaceFolder}/**/*.ts", "${workspaceFolder}/../**/*.ts" ]
其中${workspaceFolder}/../代表从当前工作区根回退一层到总项目根myproject/,可以覆盖所有sourcemap中带总根前缀的虚拟.ts路径。
方案2:修正sourcemap路径映射(更推荐,从根源解决路径不匹配问题)
无法跳过不存在的.ts文件本质是sourcemap生成的源路径和本地实际文件路径不匹配,你可以补充sourceMapPathOverrides规则,把虚拟的总根路径映射到本地实际路径:
"sourceMapPathOverrides": { "webpack:///src/*": "${webRoot}/*", "webpack:///myproject/src/*": "${webRoot}/*" }
添加该规则后,所有myproject/src/开头的虚拟路径都会被映射到本地myproject-frontend/src/目录下,原有skipFiles规则即可正常生效。
如果需要确认sourcemap的路径格式,可在调试时打开调试控制台,输入.scripts命令查看所有加载脚本的源路径,再对应调整匹配规则即可。
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

