Что такое ZLS?
ZLS (Zig Language Server) — это реализация протокола языкового сервера для Zig, написанная на Zig сообществом zigtools. Он предоставляет разработчикам современные функции IDE, такие как автодополнение, переход к определению, информация при наведении и семантический анализ в любимых редакторах. С более чем 4000 звёздами на GitHub это незаменимый инструмент для продуктивной разработки на Zig.
⚡ Ключевые возможности ZLS
💡 Умное автодополнение
Интеллектуальное автодополнение для функций, переменных, типов и импортов. Контекстно-зависимые подсказки на основе текущей области видимости и доступных символов.
🔍 Функции навигации
Переход к определению/объявлению, поиск ссылок и символов в документе. Навигация по большим кодовым базам Zig с лёгкостью и точностью.
📝 Интеллект кода
Информация при наведении, семантическая подсветка токенов и встроенные подсказки. Понимание структуры и типов кода без ручного поиска.
🛠️ Инструменты разработки
Автоматическое форматирование с zig fmt, действия с кодом, диапазоны выделения и области сворачивания для лучшей организации кода.
🔄 Операции с символами
Переименование символов по всей кодовой базе, поиск всех ссылок и контур символов документа для навигации по проекту.
📦 Поддержка пакетов
Пользовательское разрешение пакетов, поддержка cImport и обработка пространств имён для сложных проектов и зависимостей Zig.
🎯 Поддерживаемые редакторы и IDE
- VS Code: Официальное расширение Zig с интеграцией ZLS
- Neovim/Vim: Нативная поддержка LSP и специальные плагины
- Emacs: Совместимость с lsp-mode и eglot
- Sublime Text: Интеграция пакета LSP
- Kate/KDevelop: Встроенная поддержка LSP
- Любой LSP-совместимый редактор: Универсальная поддержка протокола Language Server
🆕 Что нового в ZLS 0.14.0+
- Совместимость с Zig 0.14: Полная поддержка последних языковых функций Zig
- Улучшенный семантический анализ: Лучшее разрешение типов и обнаружение ошибок
- Улучшенное автодополнение: Более точные и контекстно-зависимые подсказки
- Оптимизация производительности: Более быстрый анализ и снижение потребления памяти
- Улучшенная обработка ошибок: Более надёжная обработка неполного или недопустимого кода
- Улучшенная отладка: Лучшая интеграция с рабочими процессами отладки
📦 Установка из debian.griffo.io
Шаг 1: Добавить репозиторий
Шаг 2: Установить ZLS
🎯 Примеры настройки редакторов
Настройка VS Code:
Настройка Neovim (с nvim-lspconfig):
Базовая конфигурация ZLS:
🚀 Почему выбрать debian.griffo.io?
- Официальный Ubuntu: ZLS недоступен в официальных репозиториях
- Ручная компиляция: Требует Zig master и сложного процесса сборки
- Бинарные загрузки: Ручные обновления без управления пакетами
- debian.griffo.io: Последняя версия (0.14.0+) с автоматическими обновлениями
- ✅ Последняя поддержка языка: Немедленный доступ к поддержке новых языковых функций Zig
- ✅ Без ручной компиляции: Готовые бинарные файлы, Zig master не требуется
- ✅ Автоматические обновления: Пакеты обновляются в течение часов после выпуска
- ✅ Стабильная и ночная версии: Доступны как стабильная, так и экспериментальная версии
- ✅ Мультидистрибутив: Работает на Jammy и Noble
- ✅ Простое обслуживание: Стандартные команды apt для обновлений
📦 Репозиторий сборки пакетов
Пакеты Ubuntu автоматически собираются и поддерживаются в этих репозиториях GitHub:
- 🇿 zls-debian (стабильная) - Сборки стабильных выпусков
- 🇿 zls-master-debian (ночные) - Ночные сборки для разработчиков
🔗 Связанные пакеты
Также доступно из debian.griffo.io:
- Язык программирования Zig - Необходим для разработки с ZLS
- Ghostty Terminal - Современный терминал для разработки
- fzf Fuzzy Finder - Улучшенная навигация по файлам