Neovim - LSP 底层原理,难点配置(二)
Neovim LSP 的工作原理
基本概念
LSP(Language Server Protocol)可以理解成是一个"语言助手"。每种编程语言都有自己的"语言助手"(比如 TypeScript 的 tsserver),这些助手能告诉你:
- 哪写错了(语法错误)
- 哪能跳转(方法定义,引用)
- 哪可以补全(自动提示)
- 哪能重命名(变量重命名)
- …
这些助手不是直接写死在编辑器中的,而是通过 LSP 这个 翻译协议
和编辑器进行沟通,所以像 VSCode、Neovim等编辑器都可以使用他。
Ps:Neovim 如果配置得当,甚至比 VsCode 好用
架构组成
1)客户端:Neovim
Neovim 本身就是一个 LSP 客户端,可以通过插件实现于任意符合 LSP 协议的服务器进进行通讯。
2)语言服务器
语言服务器是独立的进程,专注于提供某种语言的语义服务