--- title: "LSP 3.17 Specification" type: concept tags: [protocol, language-server, standardization] sources: [lsp-index-engineer] last_updated: 2026-04-25 --- ## Definition Language Server Protocol 3.17(LSP 3.17)是 Microsoft 发起的语言服务器协议的最新版本,定义了编辑器/IDE 与语言服务器之间的标准化 JSON-RPC 通信规范,使得不同语言可以有统一的方式提供代码智能功能(跳转到定义、查找引用、悬停文档等)。 ## Core Components - **JSON-RPC 2.0**:基于 JSON 的远程过程调用协议 - **Server Capabilities**:服务器声明其支持的功能(如 definitionProvider、referencesProvider) - **Client Capabilities**:客户端声明其支持的功能 - **Lifecycle**:initialize → initialized → shutdown → exit - **textDocument/* 请求**:textDocument/definition、textDocument/references、textDocument/hover 等 ## Why LSP 3.17 LSP/Index Engineer 严格遵循 LSP 3.17 规范进行所有客户端通信,正确处理每个语言服务器的能力协商。LSP 3.17 相比早期版本增加了: - 增量同步(Incremental同步) - Call Hierarchy 和 Type Hierarchy - 更完整的诊断能力 - 更好的多根工作区支持 ## Implementation Note LSP/Index Engineer 的核心约束:**永远不要假设能力,必须始终检查服务器能力响应**。这确保了 graphd 能与任何符合 LSP 规范的服务器协作。 ## Aliases - LSP - Language Server Protocol - LSP 3.17