我维护了VSCode LSP扩展,并且刚刚收到一个错误报告,我们收到一个setBreakpoints
请求,该请求的路径是一个git
样式的URI,而未转义的URI看起来像git:/<path>?{ "path": "<backslashed-windows-path>", "ref": "~" }
。 / p>
我以前没看过这个文件,也找不到任何文件。
答案 0 :(得分:0)
如果为“ git” URL方案注册了“ TextDocumentContentProvider”,则会发生这种情况。该提供程序为那些URL提供内容,并且VS Code在编辑器中愉快地显示内容。如果用户在这些“虚拟”文件上设置断点,则基础URL将传递到DAP断点请求。
通常,调试适配器(和基础调试器)对此URL的作用不大,应该返回“未经验证的响应”。
某些扩展程序(例如Java)实际上正在实现内容提供程序和调试适配器。在这种情况下,可以通过内容提供者获得jar或zip文件的各个条目的内容,并且调试适配器可以在存档内的各个文件中设置断点。