Перейти к содержимому
Exeteres

TypeScript to Lua

Рекомендуемые сообщения

Форкнул opc-types, добавил декларации для AE2 и OpenPeripheral. opc-types возможно тестить не таская .d.ts в проект вручную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, hohserg сказал:

Форкнул opc-types, добавил декларации для AE2 и OpenPeripheral. opc-types возможно тестить не таская .d.ts в проект вручную?

В репозитории есть папка examples. Можно тестировать в ней. (там есть npm команда build-examples) Если писать примеры достаточно аккуратно, лучше их там оставить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Удалось реализовать простой отладчик для OpenOS. На данный момент он может собирать информацию о потоках, отлавливать в них ошибки и передавать в VSCode через интернет карту. Для сериализации используется библиотека json.lua, которая устанавливается вместе с клиентом отладчика командой OC-TS: Install client. В OpenOS клиент запускается командой tsdbg, после чего сразу же подключается к редактору.

Можно отлаживать как Lua, так и TypeScript код. Если в папке со сгенерированными lua-файлами будут сурсмапы, то они будут использованы для преобразования стека вызовов. Скрин. Отладчик доступен в новой версии расширения; команда OC-TS: Init теперь генерирует конфигурацию для отладки.

 

А теперь про брейкпоинты и инспекцию переменных. В OpenComputers существует всего 4 debug функции, среди которых нет всеми любимого sethook. У меня пока только одна идея - вставлять после каждой строки в отлаживаемом файле вызов функции, который проверяет необходимость остановки и собирает стек и переменные. Другой вопрос - насколько все это будет замедлять выполнение программы. Тем не менее, других вариантов у меня нет; может быть кто-нибудь предложит альтернативу.

 

P. S. Запросы к localhost оказывается по умолчанию делать нельзя. Поэтому для работы отладчика внутри самой игры необходимо разрешить запросы в settings.conf -> internet -> blacklist. Не исключено, что в будущем отладчик получит возможность работать через интернет подобно различным мостам, чтобы позволить игрокам с удобством писать код на публичных серверах.

 

Изменено пользователем Exeteres

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...