Eglot 是内置于 Emacs 的 LSP 客户端,用极少配置把编辑缓冲区连接到各类语言服务器。
emacs-lsp/lsp-mode
Emacs 的 Language Server Protocol 客户端,为 Emacs 提供类 IDE 的补全、诊断与代码导航。
- Star
- 5,134
- Fork
- 984
- 未关闭 Issue
- 508
- 最近提交
- 18天前
这是什么?
lsp-mode 是一个 Emacs 客户端库,用于连接实现 Language Server Protocol(v3.14)的语言服务器。它把代码补全、实时诊断、悬停提示、代码操作、格式化、Code Lens 和符号高亮等类 IDE 功能带入 Emacs 缓冲区,并以异步、非阻塞的方式发送请求。
该包与常见 Emacs 工具集成:诊断可使用 flycheck 或 flymake,补全可接入 company-capf 或 completion-at-point,导航和大纲使用 xref 与 imenu。安装 lsp-ui、lsp-treemacs、dap-mode 等可选扩展后,还能获得悬停面板、项目树和调试能力。开箱即可使用,相关包存在时会自动增强功能。
通过对应的语言服务器,它支持 C++、Go、Rust、Python、TypeScript/JavaScript、Java、Scala、Ruby、PHP、Dart、Swift 等多种语言。
核心功能
- 01实现 Language Server Protocol v3.14,请求异步执行、不阻塞编辑。
- 02提供代码补全、诊断、悬停提示、代码操作和格式化。
- 03通过 xref、imenu 和 treemacs 视图进行代码导航与大纲浏览。
- 04与 flycheck、flymake、company 和 completion-at-point 集成。
- 05支持 clangd、rust-analyzer 等服务器提供的语义高亮(semantic tokens)。
- 06通过配套的 dap-mode 与调试器对接。
适用场景
- 将 Emacs 配置为 Rust、Go 或 C++ 项目的完整开发环境。
- 为 Python、TypeScript 等语言的编辑增加感知语法的补全与诊断。
- 借助 xref 与 treemacs 视图浏览大型多语言代码库。
- 通过 dap-mode 在 Emacs 内调试应用程序。
快速上手
- 1
按照安装指南从 MELPA 安装 lsp-mode
使用前须知
- 采用 GPL-3.0 许可证,这是一种 copyleft 许可证,衍生作品须以相同条款发布。
标签
常见问题
- lsp-mode 是什么?
- Emacs 的 Language Server Protocol 客户端,为 Emacs 提供类 IDE 的补全、诊断与代码导航。 lsp-mode 是一个 Emacs 客户端库,用于连接实现 Language Server Protocol(v3.14)的语言服务器。它把代码补全、实时诊断、悬停提示、代码操作、格式化、Code Lens 和符号高亮等类 IDE 功能带入 Emacs 缓冲区,并以异步、非阻塞的方式发送请求。
- lsp-mode 可以免费使用吗?用的什么许可证?
- lsp-mode 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- lsp-mode 还在维护吗?
- 活跃维护中。lsp-mode 最近一次提交是在 2026年10月20日。
- lsp-mode 适合用来做什么?
- 将 Emacs 配置为 Rust、Go 或 C++ 项目的完整开发环境。 为 Python、TypeScript 等语言的编辑增加感知语法的补全与诊断。 借助 xref 与 treemacs 视图浏览大型多语言代码库。 通过 dap-mode 在 Emacs 内调试应用程序。
- lsp-mode 怎么安装和运行?
- 按照安装指南从 MELPA 安装 lsp-mode
- 在哪里获取 lsp-mode?
- 源代码和安装说明在 GitHub 上:https://github.com/emacs-lsp/lsp-mode
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Python 版 LSP 客户端库,用于基于语言服务器构建代码分析应用。
用 Rust 编写的快速 Python 类型检查器与语言服务器,提供代码导航、自动补全等 IDE 功能。
为 Neovim 内置 LSP 客户端提供的一组开箱即用的语言服务器配置。
面向 GNU Emacs 的模块化缓冲区内补全框架,在输入时显示代码与文本补全候选。
一个用 TypeScript 编写的开源框架,用于构建基于浏览器和桌面端的 IDE 与开发工具。