UA Basic - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Basic IDE Runtime та IDE
Home · BASIC · UO API · A–Z · Examples · Languages
Basic Runtime виконує скрипти Basic і спрямовує зареєстровані виклики UO.* до ClassicUO. Вбудоване середовище розробки засноване на Eclipse Theia з редактором Monaco та мовним розширенням Basic.
Точка входу та індексація
SUB Main()
UO.Print('Basic запущено')
END SUB
Після відкриття або зміни документа одразу індексується весь текст: SUB, FUNCTION, параметри, локальні й глобальні оголошення, виклики API, діагностика, Outline та навігація символів. Запуск не залежить від прокрутки донизу; Main може бути в будь-якому місці файлу.
Області IDE
- Explorer — файли та вибраний екземпляр скрипта;
- Editor — вихідний код Basic;
- Outline —
SUBіFUNCTIONвибраного файла; - Problems — помилки з переходом до рядка;
- Output / Debug Console — хронологічні повідомлення;
- API Inspector — опис вибраного Runtime-символу;
- Variables / Watch / Call Stack — значення та кадри налагоджувача;
- API Manual — повний каталог зареєстрованого Runtime.
Панелі можна розтягувати, а відокремлені області продовжують відмальовуватися, навіть коли активна інша панель. Закриття вікна IDE не зупиняє скрипти, доки працює ClassicUO Runtime; після повторного відкриття їхній стан має відновитися.
Кілька скриптів і кольори стану
Кілька скриптів працюють паралельно з незалежними станами running, paused, stopped і debugging. Вибір одного не змінює інші. Маркер біля назви зелений під час роботи, жовтий на паузі та чорний/звичайного кольору теми, коли зупинений скрипт вибрано.
Команди запуску та налагодження
| Дія | Клавіша | Поведінка |
|---|---|---|
| Run Current Script | F5 |
перевірити й запустити поточний скрипт |
Start Script (SUB Main) / Run Without Debugging |
Ctrl+F5 |
запустити SUB Main() без зупинок налагоджувача |
| Start Debugging | F4 |
запустити SUB Main() під налагоджувачем |
| Validate | F6 |
перевірити синтаксис без запуску |
| Pause/Resume Current Script | F7 |
призупинити або продовжити вибраний екземпляр |
| Continue | F8 |
продовжити після паузи або breakpoint |
| Toggle Breakpoint | F9 |
додати або видалити breakpoint рядка |
| Step Over | F10 |
виконати поточну інструкцію |
| Step Into | F11 |
увійти у викликану користувацьку SUB або FUNCTION |
| Step Out | Shift+F11 |
завершити поточну процедуру й повернутися |
| Stop | Shift+F5 |
зупинити вибраний екземпляр |
| Restart Debugging | Ctrl+Shift+F5 |
перезапустити вибраний скрипт під налагоджувачем |
| API Documentation for Symbol | Ctrl+F1 |
відкрити документацію символу під курсором |
У Run також є дії для паузи або зупинки всіх відповідних екземплярів. Сірий пункт означає, що дія не застосовується до поточного стану Runtime.
Покрокове налагодження
Кроки мають сенс після зупинки налагоджувача на інструкції або breakpoint. Виконуваний рядок підсвічується. F10 переходить за справжніми виконуваними інструкціями, а не просто рухає курсор на наступний видимий рядок. Точні locals, globals, watches і frames доступні зі зупиненого snapshot; під час безперервної роботи можна показати лише останній безпечно захоплений стан.
Доповнення та документація
Автодоповнення вставляє повний синтаксис UO.*. Один вибір API відкриває опис, подвійний клік може вставити повну форму до редактора. Ctrl-hover показується лише при утриманні Ctrl, переносить довгі рядки й не виходить за межі екрана.
Кооперативна робота скрипта
Runtime використовує ізольовані робочі контексти, підготовлений кеш коду та обмежені порції роботи в ігровому потоці. Проте цикл також має поступатися керуванням:
SUB Main()
WHILE UO.GetDead() = 0
' Невелика частина роботи
UO.Wait(100)
WEND
END SUB
Нескінченний активний цикл без очікування може завантажити CPU й зробити клієнт нечутливим.