При разработке нового расширения VSCODE, как создать требование протокола Language Sever и справиться с ответом?
При использовании LSP, предоставляемого Microsoft, на клиенте, как создать необходимые данные JSON и отправить их на сервер? И как тогда работать с данными json, которые отвечает сервер?
Я прочитал официальные документы, но не нашел пути. Все, что я хочу сделать, это получить текстовую строку определения функции вместо того, чтобы просто показывать ее в виде "наведения".
1 ответ
VSCode отправляет информацию на внедренный сервер для вас. Например, запрос инициализации отправляется на сервер, как только плагин запускается на стороне клиента.
Затем сервер должен будет создать логику для обработки полезной нагрузки JSON, отправленной клиентом, и вернуть определенный ответ, который соответствует спецификациям LSP. Я бы посоветовал вам включить трассировку в VSCode, чтобы увидеть сообщения, отправляемые / получаемые клиентом и сервером. Для lsp-sample вы можете установить этот параметр: "languageServerExample.trace.server": "verbose"
в вашем package.json
включить трассировку.
С точки зрения вашего вопроса относительно текстовой строки определения функции, я предполагаю, что вы как-то хотите это в своем клиентском коде (?) Если это так, вам придется извлечь строку определения функции в обработчике наведения, так как это Сервер отправляет эту информацию.