Что такое ZLS?
ZLS (Zig Language Server) — это реализация протокола языкового сервера для Zig, написанная на Zig сообществом zigtools. Он предоставляет разработчикам современные возможности IDE, такие как автодополнение, переход к определению, отображение справки при наведении и семантический анализ в их любимых редакторах. Набравший более 4 тысяч звёзд на 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: Универсальная поддержка протокола языкового сервера
🆕 Что нового в ZLS 0.14.0+
- Совместимость с Zig 0.14: Полная поддержка новейших языковых функций Zig
- Улучшенный семантический анализ: Лучшее разрешение типов и обнаружение ошибок
- Улучшенное автодополнение: Более точные и контекстно-зависимые подсказки
- Оптимизация производительности: Более быстрый анализ и снижение использования памяти
- Улучшенная обработка ошибок: Более устойчивая обработка неполного или некорректного кода
- Расширенная отладка: Улучшенная интеграция с процессами отладки
📦 Установка из debian.griffo.io
Шаг 1: Добавить репозиторий
Шаг 2: Установить ZLS
🎯 Примеры настройки редакторов
Настройка VS Code:
Настройка Neovim (с nvim-lspconfig):
Базовая конфигурация ZLS:
🚀 Почему стоит выбрать debian.griffo.io?
- Официальный Debian: ZLS не доступен в официальных репозиториях
- Ручная компиляция: Требует Zig master и сложного процесса сборки
- Загрузка бинарных файлов: Ручные обновления без управления пакетами
- debian.griffo.io: Последняя версия (0.14.0+) с автоматическими обновлениями
- ✅ Последняя поддержка языка: Получайте поддержку новейших функций Zig немедленно
- ✅ Без ручной компиляции: Готовые бинарные файлы, Zig master не требуется
- ✅ Автоматические обновления: Пакеты обновляются в течение нескольких часов после выхода апстрима
- ✅ Стабильные и ночные сборки: Доступны как стабильные, так и передовые версии
- ✅ Мульти-дистрибутив: Работает на Bookworm, Trixie и Sid
- ✅ Простое обслуживание: Стандартные команды apt для обновлений
📦 Репозиторий сборки пакетов
Пакеты Debian собираются и поддерживаются автоматически в этих репозиториях GitHub:
- 🇿 zls-debian (стабильный) — сборки стабильных релизов
- 🇿 zls-master-debian (ночные) — ночные сборки для разработки
🔗 Связанные пакеты
Также доступны из debian.griffo.io:
- Язык программирования Zig — необходим для разработки с ZLS
- Терминал Ghostty — современный терминал для разработки
- fzf Fuzzy Finder — улучшенная навигация по файлам