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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSCode是否使用与LSP的阻塞通信相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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

以上是关于VSCode是否使用与LSP的阻塞通信的主要内容,如果未能解决你的问题,请参考以下文章

vscode插件开发(3) LSP插件框架

vscode用啥符号把某一段代码包起来,类似C#的#region?

是否最好使用 Activity.onAttachFragment 或 Fragment.onAttach 在 Activity 和嵌套片段之间进行通信?

[vscode]--HTML代码片段(基础版,reactvuejquery)

#VSCode保存插件配置并使用 gist 管理代码片段

vscode代码片段建议bug