VSCode是否使用与LSP的阻塞通信

时间:2019-04-21 18:13:13

标签: visual-studio-code language-server-protocol

我正在使用Language Server Protocol。玩了一段时间之后,我可以看到与语言服务器通信的两种方式,即阻塞套接字和非阻塞套接字。

通过阻塞套接字,我的意思是发送请求并阻塞直到响应。这很容易,但是一旦我在GUI应用程序中使用它,它将阻塞UI。另一个正在使用异步/非阻塞套接字。这有点复杂,可能需要一些回调/事件机制。

现在我的问题是VSCode使用哪种方式与LSP通信?

1 个答案:

答案 0 :(得分:1)

许多扩展使用的node language server implementation使用非阻塞通信。您可以找到实现here。它使用nodejs流和net模块