首页 > 解决方案 > 在开发新的 VSCODE 扩展时,如何生成语言服务器协议要求并处理响应?

问题描述

使用microsoft提供的LSP时,客户端如何生成需要的json数据并发送给服务器?那么如何处理服务器响应的json数据呢?

我已经阅读了官方文件,但没有找到方法。我要做的就是获取函数定义文本字符串,而不是仅仅在“悬停”中显示它。 在此处输入图像描述

标签: visual-studio-codeidevscode-extensionslanguage-server-protocol

解决方案


VSCode 为您将信息发送到实现的服务器。例如,一旦插件在客户端启动,初始化请求就会发送到服务器。

然后,服务器必须构建逻辑来处理客户端发送的 JSON 有效负载并返回符合LSP 规范的特定响应。我建议您在 VSCode 中打开跟踪以查看客户端和服务器发送/接收的消息。对于 lsp-sample,您可以设置此设置:"languageServerExample.trace.server": "verbose"在您package.json的中启用跟踪。

关于您关于函数定义文本字符串的问题,我假设您以某种方式希望在您的客户端代码中使用它(?)如果是这种情况,您将不得不在悬停处理程序中提取函数定义字符串,因为这就是服务器正在发送该信息。


推荐阅读