什么是git:URI方案,它在任何地方都有文档记录

时间:2019-05-30 18:17:07

标签: visual-studio-code vscode-extensions

我维护了VSCode LSP扩展,并且刚刚收到一个错误报告,我们收到一个setBreakpoints请求,该请求的路径是一个git样式的URI,而未转义的URI看起来像git:/<path>?{ "path": "<backslashed-windows-path>", "ref": "~" }。 / p>

我以前没看过这个文件,也找不到任何文件。

  • 这是什么意思?
  • 我可以指向任何文件或说明吗?
  • 调试协议服务器接收这样的路径有意义吗?

1 个答案:

答案 0 :(得分:0)

如果为“ git” URL方案注册了“ TextDocumentContentProvider”,则会发生这种情况。该提供程序为那些URL提供内容,并且VS Code在编辑器中愉快地显示内容。如果用户在这些“虚拟”文件上设置断点,则基础URL将传递到DAP断点请求。

通常,调试适配器(和基础调试器)对此URL的作用不大,应该返回“未经验证的响应”。

某些扩展程序(例如Java)实际上正在实现内容提供程序和调试适配器。在这种情况下,可以通过内容提供者获得jar或zip文件的各个条目的内容,并且调试适配器可以在存档内的各个文件中设置断点。