Что такое схема git: URI и документирована ли она где угодно - PullRequest
0 голосов
/ 30 мая 2019

Я поддерживаю расширение VSCode LSP и только что получил отчет об ошибке, в котором мы получаем запрос setBreakpoints, где путь представляет собой git -записанный URI, который неэкранирован, выглядит как git:/<path>?{ "path": "<backslashed-windows-path>", "ref": "~" }.

Я не видел этого раньше и не смог найти никакой документации по нему.

  • Что это значит?
  • Есть ли какая-либо документация или описание, на которое я мог бы указать?
  • Имеет ли смысл сервер протокола отладки получать такой путь?

1 Ответ

0 голосов
/ 05 июня 2019

Это происходит, если для схемы URL "git" зарегистрирован "TextDocumentContentProvider". Этот провайдер обслуживает содержимое этих URL-адресов, а VS Code с радостью показывает содержимое в редакторе. Если пользователь устанавливает точку останова для этих «виртуальных» файлов, базовый URL-адрес передается в запрос точки останова DAP.

В общем случае адаптер отладки (и основной отладчик) не могут многое сделать с этими URL-адресами и должны возвращать «непроверенный ответ».

Некоторые расширения (например, Java) фактически реализуют как поставщика контента, так и адаптер отладки. В этом случае содержимое отдельных записей jar- или zip-файла доступно через поставщика содержимого, и адаптер отладки понимает, как устанавливать точки останова в отдельных файлах внутри архива.

...