LSP全名为Language Server Protocol,是一种用于 IDE 和编辑器与语言服务器之间通信的协议。它的目的是为了让多种不同语言的编辑器和 IDE 能够共用同一个语言服务器。
LSP包含以下方面的内容:
1.提供统一的 API 接口:不同的语言当中,语法定义、编译步骤、处理方式都有所差异,通过LSP统一规范,可以降低接口实现难度,提高API的稳健性。
2.实现代码补全:通过LSP计算用户所输入的代码的补全候选项提供给用户供选择。
3.文档路径解析:由于在一个文件中多个文件互相引用,甚至可能文件结构中层次很深。通过LSP,IDE可以快速准确的定位文件相关的信息。
4.改进维护项目的代码:这是LSP非常典型的使用场景。语言服务器通过LSP对头文件进行跟踪,生成补全和提示信息,可以使代码的组织和规范达成一致性。
总之,LSP的出现,发挥了合作实现和适应其他平台的重要作用。拥有了LSP,程序开发者可以准确的分辨跟踪各种语言处理器,保证了代码运行的安全性和可维护性。