Избранное MoonLoader IntelliSense - Типизированные подсказки moonloader (VSCode)

chapo

чопа сребдс // @moujeek
Автор темы
Модератор
8,891
11,621
Данный аддон упрощает написание луа скриптов под MoonLoader.
Преимущества перед сниппетами:
  1. типизация (если вы попытаетесь вписать значение, не того типа, то аддон вам на это укажет. Например на примере показано что аддон орет на то что вместо number я вписал string)
    1680466760393.png

  2. более удобные подсказки (сверху аддон, внизу сниппеты). Описания функций с вики появятся позже.
    1680537449123.png
    1680537479485.png
  3. расширение LuaLS добавляет множество "заготовок" кода, с помощью которых вы сможете писать функции еще быстрее
  4. расширение LuaLS поддерживает типизацию, так что вы можете создавать свои функции, например:
    1680538632978.png
Подробнее о типах: https://github.com/LuaLS/lua-language-server/wiki/Annotations
Установка:
1. устанавливаем Git: https://git-scm.com/
2. заходим в VSCode
3. открываем вкладку "Расширения" / "Extensions"
4. пишем в поиске sumneko.lua
5. устанавливаем расширение (если нет кнопки "enable", то нужно открыть папку moonloader через Ctrl + B)
6. открываем папку в вскоде (для каждой папки нужно отдельно включать аддоны)
7. нажимаем CTRL + P
. находим "Lua: Open Addon Manager" и нажимаем enter
1680466553429.png

9. устанавливаем moonloader
Видео с установкой:
Открой свои ебаные глаза и прочитай пункт 6.
Ну или ебись:
Ссылка на аддон: https://github.com/GovnocodedByChapo/moonloader-definitions

p.s на данный момент я уже работаю над созданием аддона для mimgui:
1680538950242.png

1680539184547.png


за идею спасибо @SR_team
 
Последнее редактирование:

sosnov

Известный
329
115
было бы круто если бы создали аддон который тебе скример на весь экран вызывает если ты использовал где-то в скрипте какую-то либу, но не подключил в начале, для такого как я который постоянно это забывает и в итоге обнаруживает уже в логе муна, это будет очень полезно)
 

SR_team

like pancake
BH Team
4,805
6,479
было бы круто если бы создали аддон который тебе скример на весь экран вызывает если ты использовал где-то в скрипте какую-то либу, но не подключил в начале, для такого как я который постоянно это забывает и в итоге обнаруживает уже в логе муна, это будет очень полезно)
С этим аддоном vscode тебе сразу напишет об ошибке, там где ты используешь функцию из модуля, который забыл подключить
 
  • Вау
Реакции: sosnov

The Spark

Известный
656
696
Что-то точно работает, но не до конца.
Расширение со стандартными настройками, тесты на чистом коде, редактор перезапускался, твой аддон переустанавливался:

memory и lua_thread не определяются
1680549696312.png

1680549711032.png

thisScript возвращает тип LuaScript, но он какой-то мнимый
1680549783118.png

1680550043552.png

inicfg работает, но пишет undefined-global
1680550153419.png

1680550164768.png
 

chapo

чопа сребдс // @moujeek
Автор темы
Модератор
8,891
11,621
Что-то точно работает, но не до конца.
Расширение со стандартными настройками, тесты на чистом коде, редактор перезапускался, твой аддон переустанавливался:

memory и lua_thread не определяются

thisScript возвращает тип LuaScript, но он какой-то мнимый

inicfg работает, но пишет undefined-global
я постепенно все это фикшу. Сейчас раскидал штуки по разным файлам и пофиксил некоторые классы
1680550575958.png

1680550698472.png
 
  • Нравится
Реакции: riverya4life и The Spark

User500050

Участник
20
16
У меня не открывается этот Lua: open addon manager. Вообще ничего не происходит после нажатия Enter. Правда в начале выдавало кое-какие ошибки, а потом перестал реагировать. Перезапускал комп, переустанавливал sumneko.lua и ничего.
 
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Автор темы
Модератор
8,891
11,621
У меня не открывается этот Lua: open addon manager. Вообще ничего не происходит после нажатия Enter. Правда в начале выдавало кое-какие ошибки, а потом перестал реагировать.
перезапусти вскод
 

_razor

t.me/sssecretway | ТГК: t.me/razor_code
Всефорумный модератор
1,949
3,212
Установка и включение модулей без менеджера аддонов (вручную):

  1. Переходим в Git репозиторий: https://github.com/LuaLS/LLS-Addons
  2. Нажимаем Win + R и переходим в папку расширения с аддонами, с помощью команды: %APPDATA%\Code\User\globalStorage\sumneko.lua\addonManager\
  3. Папку пока оставляем, возвращаемся в репозиторий и полностью качаем его (Code -> Download ZIP)
  4. Все папки и файлы из архива перемещаем в папку "addonManager", если попросит заменить файлы, соглашаемся.
  5. Возвращаемся в репозиторий, там переходим в каталог "addons" и выбираем нужный нам аддон, в нашем случае - это "moonloader", кликаем по каталогу и переходим в репозиторий самого аддона. (https://github.com/GovnocodedByChapo/moonloader-definitions)
  6. В ранее открытой папке "sumneko.lua" переходим в каталог "addonManager/addons/moonloader/module", переносим скачанные файлы из архива, если предложит заменить файлы, соглашаемся. Модуль установлен. Теперь нужно его включить.
  7. Открываем VS Code, переходим в раздел "Расширения", находим наше расширение и жмем на иконку шестеренки -> Параметры расширения:
    1680599080800.png
  8. Листаем в самый низ, находим раздел "Lua -> Workspace: Library" и кликаем добавить элемент.
  9. Вставляем путь до нашей папки с нужным модулем, должно получиться вот так:
    1680599226166.png
  10. Перезапускаем VS Code. Проверяем, если работают подсказки модуля, значит аддон включился.
Чтобы включать аддоны с помощью менеджера аддонов, нужно запускать Workspace.
 
  • Нравится
Реакции: lorgon, neverlane и chapo

User500050

Участник
20
16
Установка и включение модулей без менеджера аддонов (вручную):

  1. Переходим в Git репозиторий: https://github.com/LuaLS/LLS-Addons
  2. Нажимаем Win + R и переходим в папку расширения с аддонами, с помощью команды: %APPDATA%\Code\User\globalStorage\sumneko.lua\addonManager\
  3. Папку пока оставляем, возвращаемся в репозиторий и полностью качаем его (Code -> Download ZIP)
  4. Все папки и файлы из архива перемещаем в папку "addonManager", если попросит заменить файлы, соглашаемся.
  5. Возвращаемся в репозиторий, там переходим в каталог "addons" и выбираем нужный нам аддон, в нашем случае - это "moonloader", кликаем по каталогу и переходим в репозиторий самого аддона. (https://github.com/GovnocodedByChapo/moonloader-definitions)
  6. В ранее открытой папке "sumneko.lua" переходим в каталог "addonManager/addons/moonloader/module", переносим скачанные файлы из архива, если предложит заменить файлы, соглашаемся. Модуль установлен. Теперь нужно его включить.
  7. Открываем VS Code, переходим в раздел "Расширения", находим наше расширение и жмем на иконку шестеренки -> Параметры расширения:
    Посмотреть вложение 196303
  8. Листаем в самый низ, находим раздел "Lua -> Workspace: Library" и кликаем добавить элемент.
  9. Вставляем путь до нашей папки с нужным модулем, должно получиться вот так:
    Посмотреть вложение 196304
  10. Перезапускаем VS Code. Проверяем, если работают подсказки модуля, значит аддон включился.
Чтобы включать аддоны с помощью менеджера аддонов, нужно запускать Workspace.
у меня нет папки sumneko.lua\addonManager\
 

User500050

Участник
20
16
Нужно хотя бы раз открыть его, сочетанием клавиш SHIFT + CTRL + P -> Lua: Open Addon Manager и дождаться парсинга всех модулей
При ожидании внизу слева (на синем панели) будет идти загрузка? У меня чет мгновенно прошла и больше там анимации и загрузок нет.
 

chapo

чопа сребдс // @moujeek
Автор темы
Модератор
8,891
11,621
Выложил на гитхаб тестовую версию. Залью в менеджер аддонов после тестов
Установка:
  1. скачать архив с гитхаба - https://github.com/GovnocodedByChapo/moonloader-definitions
  2. открываем архив, открываем moonloader-definitions-main и перекидываем все файлы в папку C:\Users\ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Code\User\globalStorage\sumneko.lua\addonManager\addons\moonloader\module с заменой
Нововведения:
  1. теперь аддон сам анализирует библиотеки из папки moonloader\lib, так что "подсказки" будут отображаться для всех луашных либ (спасибо фипу)
  2. добавлены подсказки для мимгуи и иникфг
  3. добавлен класс LuaScript
  4. обновлены глобальные переменные

1680805549160.png

1680805591143.png

1680805471075.png
 

The Spark

Известный
656
696
Тест номер 2

Ну на этот раз алиасы типов сломались в ноль, хотя для тестов самое то.
1680807902595.png


В inicfg возвращает просто тип table, а должен возвращать тип таблицы, которую мы передели в аргументы.
Вот тут я типизировал Inicfg с помощью джинериков https://www.blast.hk/threads/164337/



Открыл пулл реквест https://github.com/GovnocodedByChapo/moonloader-definitions/pull/1
Всё расписал, посмотри пожалуйста