IntelliJASS

Добавлен , опубликован
Программы
Предназначение:
Работа с файлами

Settings

Для полноценной работы в IDE необходимо настроить её под себя. Практически за все настройки, как ни странно, отвечает Settings.

MacOS

IntelliJ IDEA Settings

Windows

File Settings

Code Folding

Settings Editor General Code Folding
Отвечает за сворачивание блоков по умолчанию. Для многих блоков при сворачивании указывается количество дочерних элементов.

Code Folding *
При редактировании файла опции сворачивания доступны из главного меню.

Inspections

Settings Editor Inspections
Отвечает за разнообразные проверки в коде. Здесь их можно отключать или менять уровень предупреждения.

Code Style

Settings Editor Code Style *
Редактор предоставляет обширные возможности по форматированию кода и синхронизации настроек форматирования через репозиторий. Что позволяет всей команде использовать одинаковое форматирование.

Code Reformat code
При редактировании файла опция форматирования доступна из главного меню.

Commenter

Code Comment with *
Комментирование всегда находится в одном месте, что позволяет удобно и легко создавать комментарии не щависимо от языка. Так же можно сразу узнать, какие комментарии допустимы в заранее неизвестном языке.

File nesting

В редакторе реализована группировка файлов с одинаковым именем и разным разрешением для более простой ориентации по проекту.

ColorPicker

Реализован выбор цветов для чисел в формате 0xAARRGGBB и некоторых функций.

File Types

Settings Editor File Types
Из-за того, что некоторые расширения файлов уже заняты другими языками, во избежание конфликтов пришлось выбрать другое базовое расширение. Благо редактор позволяет ассоциировать расширение как и для всех файлов, так и для каждого файла в отдельности.

Конвертация

В связи с релизом AngelScript в UjAPI было решено написать несколько простых конвертеров.
Важно! Конвертеры на данный момент не умеют выводить типы выражений и посему не реализована конкатенация в луа и isEmpty для строк в AngelScript.

Установка


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

Заморозка разработки

В проект было вложенно множество усилий и благодаря ему мне удалось приблизиться к понимаю того, как работают языковые модули. Но в связи c <вырезано цензурой> компания JetBrains прекратила свою деятельность на территории РФ. Чтоб не лишать вас, дорогие картоделы, возможности эффективно пилить проекты было принято непростое управленческое решение сменить платформу на VSCode.
Новый плагин вы можете найти по ссылке. Благодаря полученному опыту, его разработка движется гораздо быстрее и уже реализован необходимый минимум для комфортной работы. Так что по традиции ставьте лайки, устанавливате новый плагин и будте счастливы.

Полезные ссылки

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
11
Я оставил только requires. Ибо судя по статье только он каноничен.
initializer и весь vjass поддерживается стандартным рефордж варкрафтом без теша и всего остального, эта статья написана до него для jngp, как я понимаю.
Там же примитивный формат TRIGSTR_число. Значит можно всё распарить и получить строки
Формат примитивный, проблема в том, что эти строки меняются как черти, например если создать апгрейд с 10-ю уровнями, порядок строк и описаний будут тасоваться в зависимости от того в каком порядке их править. Я и спросил потому, что мне саму интересно, можно ли узнать какой блок wts к чему относиться, учитывая, что такая хаотичная способность или улучшение будут подписаны одним и тем же техническим описанием.
STRING 352
// Upgrades: R001 (Improved Lumber Harvesting,Advanced Lumber Harvesting), Name (Name)
{
Улучшенная пила ур 20
}

STRING 2105
// Upgrades: R001 (Improved Lumber Harvesting,Advanced Lumber Harvesting), Name (Name)
{
Improved Lumber Harvesting lv1 
}

STRING 2096
// Upgrades: R001 (Improved Lumber Harvesting,Advanced Lumber Harvesting), Name (Name)
{
Improved Lumber Harvesting lv2 
}
STRING 2097
// Upgrades: R001 (Improved Lumber Harvesting,Advanced Lumber Harvesting), Name (Name)
{
Improved Lumber Harvesting lv3 
}

Например у меня в карте wts выглядит так, я сначала написал все на русском, начал переписывать на английском и оказалось, что первые уровни сместились вниз. Заметить это довольно сложно, большинство строк идет по порядку уровня, но вот такую особенность я заметил.
Ответы (6)
31
что эти строки меняются как черти
Нет никаких гарантий в порядке следования номеров.
Офигительный вывод.
В Zinc остался только required, да и если память на изменяет, то в оригинальной статье писалось, что синонимы идут в лес.
Смысл заявлять о поддержке vJass, когда на самом деле её нет?
Вообще нет, вот ни капельки?
20
Koladik, vJass в рефоге - это как бы дефолт vJass, можешь даже эти файлы через CASC Viewer посмотреть и нет, а хотя чего уж там, вот оно:
Говоря короче, "всё остальное" - это и есть сам jasshelper. :)
Ну а по поводу wts файла, лучше работать в целом без него, или следуем гайду от Прометея. Но я лично советую использовать W3X2LNI или аналог для возможности редактирования всего через банальный текстовик.
Загруженные файлы
28
nazarpunk, ладно, ты всё же прав.
Note: For senseless reasons: requires, needs and uses all work correctly and have the same function in the library syntax, but please use requires, the other ones may be gone one day...
В ZINC не нашёл упоминания других слов. Но раз уж они не исчезли из vJass, то считаю, что всё же стоит их добавить в грамматику плагина, дабы сделать её полной.
28
Unryze, да vJass в рефе можно просто в проводнике посмотреть.
Загруженные файлы
31
PT153, добавлю в следующей версии. На днях опубликую.
11
PT153, я просто хотел сказать, что страхи по поводу того, что его удалят уже не актуальны.
28
nazarpunk:
Я оставил только requires. Ибо судя по статье только он каноничен.
Офигительный вывод. В статье даже слова "каноничный" нет. Не смотря на то, что это вольный перед GetLocalPlayer, который даже не все фичи языка перечислил в некоторых разделах. Рекомендую ссылаться на оригинал.
Смысл заявлять о поддержке vJass, когда на самом деле её нет?
Формат примитивный, проблема в том, что эти строки меняются как черти, например если создать апгрейд с 10-ю уровнями, порядок строк и описаний будут тасоваться в зависимости от того в каком порядке их править.
  1. Создаём улучшение/способность.
  2. Заполняем уровень 1.
  3. Просим автоматически заполнить остальные уровни.
  4. Все дальнейшие правки делаем только в .wts посредством карты-папки или через экспорт и импорт строк.
  5. Номера строк не меняются, идут в порядке уровней.
  6. ???
  7. PROFIT.
31
Вышла новая версия! Прокрутить к ресурсу

2.0.17

В связи со скорым релизом AngelScript в UjAPI было решено написать несколько простых конвертеров.
Важно! Конвертеры на данный момент не умеют выводить типы выражений и посему не реализована конкатенация в луа и isEmpty для строк в AngelScript.
Ответы (2)
38
nazarpunk, можно хотябы +" и "+ заменять (конкатенация с константой), и версию с пробелом
31
ScorpioT1000, если в выражении суммы одно из слагаемых явная строка, то оператор заменяется.
31
Вышла новая версия! Прокрутить к ресурсу

2.0.18

Добавлен выбиратор цветов для hex записи числа и некоторых функций.
Загруженные файлы
31
Вышла новая версия! Прокрутить к ресурсу

2.0.19

Добавлена подсветка .lni файлов для w3x2lni.
Загруженные файлы
31
Вышла новая версия! Прокрутить к ресурсу

2.0.21

Доработано форматирование и грамматика для AngelScript.
31
Вышла новая версия! Прокрутить к ресурсу

2.0.22

  • Исправлены некоторые ошибки AngelScript
  • Добавлена поддержка .wts
  • Добавлена группировка файлов. Как вам такое, вскодеры?
Загруженные файлы
31
Вышла новая версия! Прокрутить к ресурсу

2.0.23

  • Мелкие фиксы строк
  • Совместимость с IntelliJ 2024.1
31
Вышла новая версия! Прокрутить к ресурсу

2.0.25

Хотфикс для совместимости с 2024.1.
22
Заинтересовал данный софт, судя по скринам, возможности у него огромные. Но есть ряд вопросов:
  1. Включает ли он в себя функционал JassCraft и JNGP(работа с кодом) полностью?
  2. При написании функции предлагаются ли в реальном времени варианты функций из листа функций?
  3. Свои функции и переменные добавляются ли в лист функций?
  4. Можно ли экспортировать код в открытую карту в WE, в раздел "нестандартный код"?
  5. Можно ли настраивать в самой программе цвета фона, синтаксиса, итд?
  6. Результаты компиляции отличаются ли от результатов компиляции в редакторе карт? Конечный код работает ли быстрее в игре?
  7. Есть ли в программе русский язык, помимо английского?
  8. Простая ли установка? Или она вовсе не требуется?
Надеюсь на обратную связь.
Ответы (10)
31
Включает ли он в себя функционал JassCraft и JNGP(работа с кодом) полностью?
На данный момент нет, но это предполагается. Плагин разрабатывается в свободное время, которого нет.
При написании функции предлагаются ли в реальном времени варианты функций из листа функций?
Я встрял на этапе добавления SDK, которое позволит указывать для каждого проекта свой набор common.j и blizzard.j.
Свои функции и переменные добавляются ли в лист функций?
Предполагается полноценная поддержка кода, как это сделано во всех остальных языках программирования.
Можно ли экспортировать код в открытую карту в WE, в раздел "нестандартный код"?
Такой мув потребует серьёзного допила JNGP, если кто его допилит, то завезти такое будет не сильно сложно.
Можно ли настраивать в самой программе цвета фона, синтаксиса, итд?
Можно. Это описано в графе Code Style.
Результаты компиляции отличаются ли от результатов компиляции в редакторе карт? Конечный код работает ли быстрее в игре?
Это плагин для работы с кодом. Компиляцией занимается игра. Так что быстродействие зависит только того, каким образом написан код.
Если речь о препроцессоре vjass/ZINC, то теоретически можно более оптимально их скомпилировать, но приоритеты смещены в сторону AngelScript и транспиляцию в него.
Есть ли в программе русский язык, помимо английского?
Китайский точно есть, значит и русский можно сделать. Когда функционал устаканится, то займусь добавлением пакетов локализации.
Простая ли установка? Или она вовсе не требуется?
  • Устанавливаем JetBrains Toolbox
  • В нём тыкаем на бесплатную IntelliJ Community
  • Устанавливаем плагин штатным образом из маркетплейса
Насколько это сложно решать уже конечному пользователю
22
nazarpunk, Благодарю!
В общем, на практике тогда буду смотреть, что работает, а что нет ещё.
31
В общем, на практике тогда буду смотреть, что работает, а что нет ещё.
Сейчас идёт добавление поддержки всех форматов, встречаемых в игре. Немного спойлеров следующей версии:
Загруженные файлы
22
nazarpunk, Круто! Тогда есть резон добавить ещё конвертер форматов, под высокое разрешение, а то blp Laboratory дико тормозит, когда открывает текстуры больше 256х256 пикселей. Про 2к текстуры и говорить нечего.
31
EugeAl, я просто присрал плагин и чё-то мне кажется, там есть проблемы с цветами. Разбираться мне лень, лучше займусь slk. Версия уже отправлена на модерацию, скоро сможешь сам пощупать.

P. S. Конверт в принципе не сложно приделать, но пока это не вприоритете.
22
nazarpunk, Понял. Да, цвета немного не те, это верно. Оттенок другой и яркость выше. Slk - это замечательно. Особенно рекомендую сделать акцент на старые виды slk, из версии RoC (там есть сохранение размеров ячеек и типа шрифта, и Эксель проблемно открывает эти файлы, в отличие от новых slk, из TFT) , плюс некоторых файлов в версии TFT просто нет, вроде T Splat data, и приходится костылить при переводе файла из старого в новый формат.
31
EugeAl, я подготовил себе репу с содержимым лицензионной версии. Если твои slk отличаются, то готовь свою репу.
22
nazarpunk, отличаются. Правда, я думал, твой софт сможет открыть/сохранить slk отдельно, как файл, без залезания в архивы.
31
EugeAl, откуда ты собрался брать slk как не в архивах? А распаковка архива это совсем другая тема.
22
nazarpunk, так у меня уже есть и извлечённые, как отдельно, так и запиханные все сразу в xlsx файл, для удобства работы.
вот такой вот редактор slk смастерил, работаю тут, потом открываю нужные slk и копипащу туда необходимое.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.