Раздел:
Триггеры и объекты
Для подсветки кода лучше всего подходит синтаксис EmmyDoc, плагин с которым есть для Visual Studio Code и IntelliJ IDEA.
Для начала сконвертируйте файлы разметки с помощью cJass2Lua или просто скачайте архив.

Visual Studio Code

  • Перезагружаемся "Win+R -> shutdown -r -t 0"
  • Утанавливаем EmmyLua
  • Открываем %username%\.vscode\extensions\tangzx.emmylua-0.2.6\res\std в проводнике
  • Копируем туда файлы разметки
  • Перезапускаем редактор
  • Сохраняем файл с разрешением .lua и наслаждаемся

Так же можете воспользоваться способом пользователя prog, описанным в этом комментарии.

IntelliJ IDEA

  • Открываем дополнения и устанавливаем EmmyLua
  • Если хотите отключить всё лишнее, то снимите галку со всех плагинов кроме следующих:
  • Создаём новый lua проэкт
  • Нажимаем Ctrl+Alt+Shift+S
  • Указываем путь к файлам разметки
  • Создаём файл с разрешением .lua и наслаждаемся
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
24
5 лет назад
Отредактирован prog
2
Для вскода тогда уж лучше lua-language-server от sumneko плюс файлы нативок из варианта для EmmyLua.
Ну и что-то вроде warcraft-vscode или один из его аналогов, чтобы напрямую с картой работать, раз уж статья в разделе варкрафта, а не чистого Lua.
0
29
5 лет назад
0
плюс файлы нативок из варианта для EmmyLua
Как эти файлы туда засунуть, если по пути %userprofile%\.vscode\extensions\sumneko.lua-0.9.12\syntaxes лежит только lua.tmLanguage.json непонятного содержания.
Ну и что-то вроде warcraft-vscode или один из его аналогов
Я их ещё не тестил, как проверю, обязательно добавлю.
Загруженные файлы
0
24
5 лет назад
Отредактирован prog
0
Как эти файлы туда засунуть
Я пока просто складываю их в папку проекта отдельно от исходников и открываю один раз перед началом работы чтобы их распарсило. Но, скорее всего, где-то аналогичным образом можно указать путь к таким файлам.
0
29
5 лет назад
Отредактирован nazarpunk
0
Добавил VSCode-EmmyLua, чей подход к расширяемости оказался круче всех.

Так же попробовал Atom, Eclipse и ZeroBrane . Там с добавлением своих функции вообще ужас.
0
24
5 лет назад
0
NazarPunk, эммилуа это хорошо, но ланг сервер от сумнеко дает чуть больше возможностей, чем просто эммилуа, нужно только разобраться как ему скормить внешние нативки.
И даже больше - там явно внутри есть даже своя либа под jass нативки, как оказалось, осталось понять как её подключить, выяснить насколько она актуальная и при необходимости выдать парсером данные в нужном формате и скормить туда.
0
29
5 лет назад
0
эммилуа это хорошо
Мне в нём нравится, что по Ctrl+Click можно перейти к коду функции.
ланг сервер от сумнеко дает чуть больше возможностей, чем просто эммилуа, нужно только разобраться как ему скормить внешние нативки.
Если кто разберётся, то с удовольствием добавлю. У людей должен быть выбор)
Загруженные файлы
0
24
5 лет назад
Отредактирован prog
0
Мне в нём нравится, что по Ctrl+Click можно перейти к коду функции.
Ну так ланг-сервер умеет это и еще чуть-чуть больше потому как включает в себя эммилуа)
Пока нашел временное, но вполне рабочее решение - складывать файлы common.lua и blizzard.lua куда-нибудь в воркспейсе но так чтобы их собиралка карты не подхватывала. Например, если собиралка берет код из src, то создать папку libs рядом с src и сложить туда.
И после этого в воркспейсе или глобально подровнять конфиг "Lua.workspace.preloadFileSize" поставить вместо стандартных 300 достаточно большое число чтобы хватило на наши файлы, я поставил 600. Все, после этого не нужно даже руками открывать эти файлы чтобы их подхватило. Единственный минус - если проектов несколько, то для каждого нативки отдельно обновлять придется при обновах вара.

Ну и да, кстати, все что делается в "%userprofile%\.vscode\extensions\" подвержено риску быть потеряным при обнове плагина т.к. по хорошему туда не положено лезть руками.

Ну и если лень искать - линка на плагин.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.