Расширение Elide превращает любую папку с elide.pkl в проект VS Code: оно синхронизирует зависимости и наборы
исходников с языковым сервером Kotlin, а запуск, тестирование и отладку выполняет через CLI elide.
Требования
| Требование | Примечания |
|---|---|
| VS Code 1.105 и новее | Настольный VS Code или удалённая либо серверная сборка с локальной файловой системой. |
| Elide 1.5 и новее | Ищется в elide.home, $ELIDE_HOME, каталогах установки, затем в PATH. Для Elide 1.6 нужно расширение 0.6.0 и новее. |
| Kotlin by JetBrains | JetBrains.kotlin-server; устанавливается вместе с расширением. Ответьте на его вопросы при первом запуске. |
| JDK | Для интеллектуальной поддержки кода; задайте elide.jdk.home или $JAVA_HOME. |
Расширению нужно доверенное рабочее пространство: синхронизация запускает CLI elide из рабочего пространства.
Установка
curl -LOJ "https://plugins.elide.dev/vscode/files?id=elide.elide"
code --install-extension elide-*.vsixHelp → Get Started → Get started with Elide проводит через установку, проект, синхронизацию, запуск и тесты.
Синхронизация проекта
Папка с elide.pkl синхронизируется при открытии: Elide разрешает манифест, устанавливает зависимости, если
lock-файл устарел, и записывает workspace.json для языкового сервера Kotlin. Добавьте workspace.json в
.gitignore.
| Строка состояния | Значение |
|---|---|
| Elide с галочкой | Синхронизировано |
| Elide с индикатором загрузки | Идёт синхронизация |
| Elide: out of date | Изменился elide.pkl или разрешённые зависимости |
| Elide цветом ошибки | Синхронизация не удалась; журнал CLI — в Elide: Show Output |
Щелчок по элементу в строке состояния открывает меню Elide: синхронизировать, выполнить команду, запустить все тесты,
открыть elide.pkl или вывод. Когда elide.pkl меняется, расширение предлагает перезагрузить проект
(elide.sync.onManifestChange).
Боковая панель Elide
Представление Elide на панели действий показывает каждый проект:
| Группа | Строки | Действия |
|---|---|---|
| Entrypoints | Записи jvm.main, entrypoint и scripts | Run, Debug |
| Tasks | build, test, install и Build targets из elide build --inspect | Run, Debug для целей, которые принимают --debugger |
| Source sets | Каждый набор исходников и его корни | |
| Dependencies | Разрешённые библиотеки | Показать в файловом менеджере |
Интеллектуальная поддержка кода
Автодополнение, навигацию и диагностику для Kotlin и Java обеспечивает языковой сервер Kotlin, который импортирует
синхронизированный workspace.json: по модулю на набор исходников, каждую библиотеку с исходниками, JDK и параметры
Kotlin из манифеста.
- Для объявленных пакетов Maven устанавливаются jar-файлы с исходниками, поэтому Go to Definition открывает код
библиотеки (
elide.install.classifiers). - JDK берётся из
elide.jdk.home, затем изjvm.javaHome,$JAVA_HOMEили установленного JDK, подходящего подjvm.target. - В рабочей копии может оставаться каталог
.ideaот IntelliJ: расширение задаётintellij.buildToolзначениеjsonв настройках рабочего пространства, и каждый редактор читает свою модель.
Запуск
Code lens запускают то, что объявляет проект:
| Где | Code lens |
|---|---|
Над функцией main для JVM | Run with Elide, Debug with Elide |
jvm.main и entrypoint в elide.pkl | Run, Debug |
Записи scripts | Run script |
Записи artifacts | Build; у бинарных файлов Native Image также Run и Debug |
Запуски — это задачи VS Code типа elide; ошибки компилятора попадают в Problems с указанием файла и строки.
| Команда | Действие |
|---|---|
Elide: Run Elide Command… | Запускает build, test, install или run <entrypoint> как задачу. |
Elide: Sync Project(s) | Повторяет синхронизацию. |
Elide: Show Menu | Меню строки состояния. |
Elide: New Project… | Создаёт проект из шаблона установленной CLI. |
Elide: Add Workspace Member… | Создаёт проект внутри текущего и добавляет его в workspace.members. |
Elide: Open generated Kotlin LSP workspace | Открывает workspace.json. |
Elide: Show Output | Показывает вывод CLI и журнал синхронизации. |
В .vscode/tasks.json:
{ "type": "elide", "command": "test", "args": ["src/api"], "options": { "bail": 3 } }| Поле | Значение |
|---|---|
command | build, run, test или install |
args | Позиционные аргументы: цели сборки, пути к тестам, точка входа |
options | Параметры CLI: { "no-cache": true } добавляет --no-cache; false убирает унаследованный параметр |
flags | Флаги сборки -f NAME[=VALUE] |
programArgs | Аргументы после -- |
env, project | Окружение; корень проекта относительно папки рабочего пространства |
Тестирование
Тесты JUnit из тестовых наборов исходников появляются в представлении Testing со значками на полях у каждого
класса и метода. Запуск вызывает elide test --reporter=tap для выбранных тестов и сообщает о каждом тесте по мере
завершения; у упавшего теста показываются сообщение проверки и ссылка на строку с ошибкой.
Профиль Debug запускает те же тесты под отладчиком.
Run with Coverage запускает выбранное с --coverage и показывает результат на полях редактора и в представлении
Test Coverage: JavaScript и TypeScript — из LCOV, Java и Kotlin — из XML-отчёта JaCoCo. Включите XML-отчёт в
elide.pkl:
import "elide:Coverage.pkl" as Coverage
coverage {
jvm {
reports { Coverage.xmlReport() }
}
}Отладка
Debug with Elide запускает elide run --debugger и подключается к нему. Точки останова в исходниках Kotlin и Java
останавливают программу; завершение сеанса останавливает Elide.
В .vscode/launch.json:
{
"type": "elide",
"request": "launch",
"name": "Elide: Run (debug)",
"entrypoint": "src/main/kotlin/shop/Main.kt"
}| Поле | Значение |
|---|---|
command | run (по умолчанию), test или build с targets |
entrypoint | Файл, скрипт или точка входа; если пусто, берётся из манифеста |
args | Аргументы программы |
elideArgs, options, flags, env, project | Как для задач |
elide.debug.adapter выбирает отладчик: intellij (по умолчанию, из расширения Kotlin) или java
(Debugger for Java). Отладчик
слушает порт 5005, поэтому одновременно работает только один сеанс. Об отладке JavaScript, TypeScript и Python через
CDP и DAP см. Отладка.
Native Image
Тип запуска elide-native собирает артефакт Native Image и отлаживает бинарный файл в GDB через расширение C/C++
(ms-vscode.cpptools):
{ "type": "elide-native", "request": "launch", "name": "Elide: Debug Native Image", "artifact": "bin" }Для точек останова на уровне исходного кода добавьте -g в options.flags артефакта в elide.pkl; отладочная
информация создаётся только в Linux. program отлаживает существующий бинарный файл, build: false пропускает сборку.
Рабочие пространства
Манифест с workspace.members синхронизируется как одна сборка. Каждый участник — отдельный проект в боковой панели,
представлении Testing, задачах и конфигурациях запуска, а интеллектуальная поддержка кода следует зависимостям
project("name") между участниками без сборки. При открытии каталога участника расширение предлагает открыть корень
рабочего пространства. См. Рабочие пространства.
Настройки
| Настройка | По умолчанию | Действие |
|---|---|---|
elide.home | "" | Корень установки Elide. Если пусто: $ELIDE_HOME, каталоги установки, затем elide в PATH. |
elide.jdk.home | "" | JDK для интеллектуальной поддержки кода. |
elide.sync.onStartup | true | Синхронизировать при открытии рабочего пространства. |
elide. | "prompt" | always, prompt или never. |
elide. | true | Записывать workspace.json. |
elide. | ["sources"] | Дополнительные jar-файлы для каждого пакета Maven: sources, docs. |
elide.flags | [] | Флаги -f NAME[=VALUE] для каждого вызова, включая синхронизацию. |
elide.build.options | {} | Параметры elide build по умолчанию; аналогично elide.run.options, elide.test.options и elide.install.options. |
elide.codeLens.enabled | true | Показывать code lens Run и Debug. |
elide.debug.adapter | "intellij" | intellij или java. |
elide. | "auto" | gdb, lldb или auto для сеансов Native Image. |
elide. | "" | Бинарный файл GDB или lldb-mi для сеансов Native Image. |