1.5.7930
Середина декабря — публикация прототипа Export/Import/Live Import
C# Scripting — Export/Import и Live Import в публичной alpha
Новая крупная функция вошла в стадию alpha: теперь можно экспортировать ваши C# Overlays и Actions в .sln-solution. Triggers и Nodes пока это не поддерживают.
Чем это полезно?
Современные IDE дают множество QoL-возможностей, без которых неудобно заниматься сколько-нибудь серьёзной разработкой. Встроенный редактор скриптов EA никогда не сможет полностью закрыть разрыв между «текстовым редактором с подсветкой синтаксиса и автодополнением» и полноценной IDE. Это инструмент именно для разработки скриптов — и не более того.
При этом набор возможностей, который даёт EA SDK, уже давно вышел за рамки обычного скриптинга: теперь можно собирать полноценные программы с NuGet packages.
Экспорт

После этого solution можно открыть в JetBrains Rider (рекомендуется) или в Microsoft Visual Studio.
Полученная solution будет состоять из одного или нескольких проектов — в зависимости от того, что именно вы экспортировали. Она собирается без проблем, и в неё можно добавлять unit-тесты.

Экспорт и импорт

Экспорт мы уже коротко рассмотрели. Импортировать изменения обратно ещё проще: достаточно выбрать файл solution, который вы ранее экспортировали. EA загрузит изменения в исходниках, которые вы внесли в IDE.
Так как solution может содержать несколько проектов (например, проект с unit-тестами), EA попытается сопоставить проекты из solution с теми, которые уже есть в программе в виде C# actions, а всё, что ей неизвестно, просто проигнорирует.
Live Import

Импортировать изменения снова и снова быстро надоедает — и это совсем не тот workflow, которого хочется.
Здесь и пригодится другая функция.
Нажмите Live Import, выберите .sln, и EA начнёт отслеживать любые изменения в директории, где находится solution. Как только изменения будут обнаружены, они автоматически импортируются обратно в EA. По сути, код в C# action или overlay, над которым вы работаете, становится почти «живым».
Особенно заметно это на Overlays, потому что они по своей природе перекомпилируются сразу после изменений. То есть как только вы меняете код Overlay, EA почти мгновенно подхватывает изменения, перекомпилирует и загружает его заново. Это можно воспринимать как такой кустарный аналог Hot Reload — но рабочий.

Интеграция с .git
Git — это золотой стандарт среди систем контроля версий. Внутри EA он уже используется для многих задач, например для версионирования конфигурации. Поэтому было вполне логично во время экспорта сразу делать экспортированные проекты git-репозиториями.
Каждый раз при экспорте или импорте изменений обратно в EA система автоматически либо создаёт git-репозиторий, либо коммитит сделанные вами изменения. Благодаря этому можно легко откатить код, если что-то пошло не так.

Отладка
Пока что запускать проект или отлаживать его прямо из IDE нельзя. Это одно из улучшений, над которыми я планирую работать в 2025 году.
В перспективе EA должна уметь выступать как раннер для скриптов. Но для этого мне ещё нужно внести ряд изменений.
Исправления и улучшения
- [UI] Небольшие изменения для первого запуска: панель event log стала больше, а вместо aura теперь создаётся Macro
- [Scripting] Исправлен баг, который приводил к преждевременному освобождению
ScriptingAPIs; из-за этого также уничтожалисьOSD/Windows/etc, созданные скриптом