Розширення 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. |