Расширение Elide для Zed добавляет elide lsp как языковой сервер Java и адаптер
отладки Elide для JavaScript, TypeScript и Python. Любая задача Zed, которая запускает elide run или elide test,
также появляется на вкладке Debug отладчика.
Требования
| Требование | Зачем |
|---|---|
Elide 1.6.0 и новее в PATH | Расширение запускает elide; другой путь можно задать в настройках. |
| Расширение Java для Zed | Оно определяет язык Java. |
| Расширение Pkl | Подсвечивает elide.pkl. Необязательно. |
elide setup python | Только для отладки Python. |
Установка
Установите его как расширение для разработки; для этого нужен Rust через rustup:
git clone https://github.com/elide-dev/zed elide-zedВ Zed откройте Extensions, выберите Install Dev Extension и укажите каталог elide-zed.
Языковой сервер Java
Укажите elide в списке language_servers для Java в settings.json. Чтобы использовать его вместо jdtls:
{
"languages": {
"Java": { "language_servers": ["elide", "!jdtls", "..."] }
}
}["elide", "jdtls"] оставляет оба; ["!elide", "..."] отключает Elide. Сервер читает корень рабочего пространства,
который передаёт Zed, и elide.pkl в нём делает его проектом Elide, поэтому зависимости разрешаются. Сервер
поддерживает диагностику, автодополнение, подсказки при наведении, навигацию, переименование, форматирование, действия
с кодом, inlay-подсказки и семантические токены; полный список приведён на странице
Другие редакторы.
Чтобы запустить конкретный бинарный файл или передать дополнительные флаги:
{
"lsp": {
"elide": {
"binary": { "path": "/opt/elide/bin/elide", "arguments": ["lsp"] }
}
}
}arguments заменяет значение по умолчанию ["lsp"].
Отладка
Откройте отладчик командой debugger: start (F4) и выберите сценарий из .zed/debug.json, задачу на вкладке
Debug или Launch с адаптером Elide. launch запускает elide run --debugger=dap (или elide test с
"command": "test") и подключается; attach подключается к программе, которая уже слушает порт:
[
{ "label": "Debug app.ts", "adapter": "Elide", "request": "launch", "program": "app.ts" },
{ "label": "Debug this file", "adapter": "Elide", "request": "launch", "program": "$ZED_FILE" },
{ "label": "Debug tests", "adapter": "Elide", "request": "launch", "command": "test", "args": ["app.test.ts"] },
{ "label": "Attach", "adapter": "Elide", "request": "attach", "tcp_connection": { "host": "127.0.0.1", "port": 4711 } }
]| Поле launch | Значение |
|---|---|
program | Файл для запуска относительно cwd. |
args | Аргументы после program. |
cwd | Рабочий каталог; по умолчанию корень worktree. |
env | Дополнительные переменные окружения. |
command | run (по умолчанию) или test. |
elideArgs | Флаги Elide перед program, например ["--max-mem=512m"]. |
host, port | Слушатель DAP; по умолчанию 127.0.0.1 и свободный порт (4711 для подключения). |
Вывод программы появляется в консоли отладки. Чтобы подключиться, запустите программу сами:
elide run --debugger=dap app.pyЧтобы сделать Elide отладчиком по умолчанию для полей редактора и окна нового процесса для языка:
{ "languages": { "TypeScript": { "debuggers": ["Elide"] } } }Ограничения
- Отладка Java и Kotlin (JDWP) не поддерживается: Zed отлаживает Java только через расширение Java.
См. также
- Интеграция с IDE: возможности в каждом редакторе.
- Другие редакторы:
elide lspи DAP из Neovim, Helix и других клиентов. - Отладка: отладчики CDP, DAP и JDWP для всех языков.