Перейти до вмісту

Розширення VS Code

Розширення Elide для VS Code 1.105 і новіших: синхронізація проєкту для інтелектуальної підтримки коду Kotlin і Java, бічна панель Elide, code lens, тести, налагодження, завдання й налаштування.

На цій сторінці

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

Help → Get Started → Get started with Elide проводить через встановлення, проєкт, синхронізацію, запуск і тести.

Синхронізація проєкту

Тека з elide.pkl синхронізується під час відкриття: Elide розв’язує маніфест, встановлює залежності, якщо lock-файл застарів, і записує workspace.json для мовного сервера Kotlin. Додайте workspace.json до .gitignore.

VS CodeSync and the Elide sidebar0:19Add a dependency to elide.pkl, reload when prompted, find it under Dependencies.
Рядок стануЗначення
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 і scriptsRun, Debug
Tasksbuild, test, install і Build targets з elide build --inspectRun, Debug для цілей, що приймають --debugger
Source setsКожен набір вихідних файлів і його корені
DependenciesРозв’язані бібліотекиПоказати у файловому менеджері

Інтелектуальна підтримка коду

Автодоповнення, навігацію й діагностику для Kotlin і Java забезпечує мовний сервер Kotlin, який імпортує синхронізований workspace.json: по модулю на набір вихідних файлів, кожну бібліотеку з вихідними кодами, JDK і параметри Kotlin із маніфесту.

VS CodeKotlin code intelligence0:12After a sync, the Kotlin language server completes project members and shows inlay hints.
  • Для оголошених пакетів 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 для JVMRun with Elide, Debug with Elide
jvm.main і entrypoint в elide.pklRun, Debug
Записи scriptsRun script
Записи artifactsBuild; для бінарних файлів Native Image також Run і Debug
VS CodeRun with Elide0:08The code lens above main runs the entrypoint with elide run in a task terminal.

Запуски — це завдання 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 } }
ПолеЗначення
commandbuild, 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 для вибраних тестів і повідомляє про кожен тест, щойно він завершиться; для невдалого тесту видно повідомлення перевірки й посилання на рядок із помилкою.

VS CodeTests in the Testing view0:10JUnit tests run through elide test and report per test.

Профіль 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() }
  }
}
VS CodeRun with Coverage0:10Run the tests with coverage and read covered lines in the gutter and the Test Coverage view.

Налагодження

Debug with Elide запускає elide run --debugger і під’єднується до нього. Точки зупинки у вихідних файлах Kotlin і Java зупиняють програму; завершення сеансу зупиняє Elide.

VS CodeDebug with Elide0:13Stop on a breakpoint and inspect variables in a Kotlin program run by Elide.

У .vscode/launch.json:

{
  "type": "elide",
  "request": "launch",
  "name": "Elide: Run (debug)",
  "entrypoint": "src/main/kotlin/shop/Main.kt"
}
ПолеЗначення
commandrun (за замовчуванням), 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.onStartuptrueСинхронізувати під час відкриття робочого простору.
elide.sync.onManifestChange"prompt"always, prompt або never.
elide.kotlinLsp.writeWorkspaceJsontrueЗаписувати workspace.json.
elide.install.classifiers["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.enabledtrueПоказувати code lens Run і Debug.
elide.debug.adapter"intellij"intellij або java.
elide.debug.nativeMiMode"auto"gdb, lldb або auto для сеансів Native Image.
elide.debug.miDebuggerPath""Бінарний файл GDB або lldb-mi для сеансів Native Image.

Чи була ця сторінка корисною?