0

我正在使用 LSP(语言服务器协议)开发一个 VSCode 扩展,只要用户打开扩展名为“.ext”的文件,它就会被激活。它具有以下结构:

LSP 结构

我已经在使用 VSCode 的语言客户端/服务器库,并且语言验证包含在本地部署在随机空闲端口上的 Web 服务器上,该端口包含接收用户正在修改的文件的内容的 ANTLR4 类。分析此内容后,它通过 HTTP 向语言服务器部分发送响应,其中包含有关接收到的代码片段的诊断信息。然后,服务器将调整后的诊断信息发送给客户端,以便 VSCode 使用它们来通知用户错误。

扩展工作正常,但每当我想使用扩展(用 Node.js 编写)时,我都必须手动运行语言验证服务器。有没有办法在激活扩展时自动启动该节点服务器?

提前致谢。

4

1 回答 1

1

使用 VS Code 扩展在另一台机器上启动 http 服务器的想法对我来说听起来很奇怪,我认为您可以直接在您的语言服务器中使用 ANTLR 生成的解析器。如果解析器不是以与服务器相同的语言生成的,您可以从语法中重新生成它。

于 2018-06-22T22:21:06.693 回答