Eglot — встроенный в Emacs LSP-клиент, который подключает буферы с кодом к языковым серверам и требует минимум настроек.
emacs-lsp/lsp-mode
Клиент Emacs для Language Server Protocol: добавляет автодополнение, диагностику, навигацию и рефакторинг в стиле IDE.
- Звёзды
- 5,134
- Форки
- 984
- Открытые issues
- 508
- Последний коммит
- 18 дней назад
Что это?
lsp-mode — клиентская библиотека, которая подключает Emacs к языковым серверам, реализующим Language Server Protocol (v3.14). Она добавляет в буферы Emacs возможности, привычные по IDE: автодополнение кода, диагностику в реальном времени, всплывающие подсказки, действия с кодом, форматирование, линзы кода и подсветку символов. Запросы выполняются асинхронно и не блокируют работу редактора.
Пакет интегрируется с распространёнными инструментами Emacs: flycheck или flymake для диагностики, company-capf или completion-at-point для автодополнения, xref и imenu для навигации и структуры кода. Дополнительные пакеты, такие как lsp-ui, lsp-treemacs и dap-mode, добавляют подсказки, деревья проектов и отладку. lsp-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.
- 06Подключается к отладчикам через дополнительный пакет dap-mode.
Сценарии использования
- Превратить Emacs в полноценную IDE для проектов на Rust, Go или C++.
- Добавить автодополнение с учётом языка и диагностику при редактировании кода на Python или TypeScript.
- Навигация по большим многоязычным кодовым базам с помощью xref и представлений treemacs.
- Отлаживать приложения прямо в Emacs с помощью dap-mode.
Быстрый старт
- 1
Установите lsp-mode из MELPA, следуя руководству по установке
Что важно знать
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая требует распространять производные работы на тех же условиях.
Темы
Частые вопросы
- Что такое lsp-mode?
- Клиент Emacs для Language Server Protocol: добавляет автодополнение, диагностику, навигацию и рефакторинг в стиле IDE. lsp-mode — клиентская библиотека, которая подключает Emacs к языковым серверам, реализующим Language Server Protocol (v3.14). Она добавляет в буферы Emacs возможности, привычные по IDE: автодополнение кода, диагностику в реальном времени, всплывающие подсказки, действия с кодом, форматирование, линзы кода и подсветку символов. Запросы выполняются асинхронно и не блокируют работу редактора.
- lsp-mode можно использовать бесплатно? Какая у него лицензия?
- lsp-mode распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lsp-mode всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lsp-mode — 20 окт. 2026 г..
- Для чего можно использовать lsp-mode?
- Превратить Emacs в полноценную IDE для проектов на Rust, Go или C++. Добавить автодополнение с учётом языка и диагностику при редактировании кода на Python или TypeScript. Навигация по большим многоязычным кодовым базам с помощью xref и представлений treemacs. Отлаживать приложения прямо в Emacs с помощью dap-mode.
- Как установить lsp-mode?
- Установите lsp-mode из MELPA, следуя руководству по установке
- Где скачать lsp-mode?
- Исходный код и инструкции по установке — на GitHub: https://github.com/emacs-lsp/lsp-mode
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Клиентская библиотека LSP на Python для приложений, которые обращаются к языковым серверам за определениями, ссылками, данными hover и вариантами автодополнения.
Быстрый чекер типов и language server для Python на Rust с функциями IDE: переходом по коду, автодополнением и семантической подсветкой.
Готовые конфигурации Language Server Protocol для подключения Neovim к множеству серверов языков программирования.
Модульная система автодополнения в буферах GNU Emacs, которая показывает варианты для кода и текста по мере ввода.
Фреймворк с открытым исходным кодом на TypeScript для создания браузерных и настольных IDE и инструментов для разработчиков.