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
В связи с тем, что новая версия публикуется в маркетплейсе с некоторой задержкой вы всегда можете установить её с диска сразу после публикации.

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

`
ОЖИДАНИЕ РЕКЛАМЫ...
Этот комментарий удален
0
29
3 месяца назад
0
PT153, а как же рефакторинг? Помню давеча спрашивали за переименование по вхождению. А поддержка того-же wts? Чтоб из кода можно тупо кликать на строку. Тут работы непочатый край. Где бы на неё ещё найти времени...

P. S. а ещё я забыл за автокомплит.
0
28
3 месяца назад
0
nazarpunk, так этого нет и в JassHelper.
0
9
3 месяца назад
0
Koladik, а что за поддержка нужна? Грамматика для vJass и Zinc присутствуют, а компиляцией в JASS может и сам JassHelper справится. В IDEA уже есть все необходимые инструменты для запуска скриптов.
Ну у меня есть привычка в теше сохранять карту, включая джас хелпер, и проверять все ли нормально компилируется. Он на ошибки указывает конкретные в коде и примерное место ошибки. Обычно это реализуют так, что не понятно где ошибка, не компилируется и все. А джас хелпер хорошо в этом помогает.
0
29
3 месяца назад
0
Koladik, удачи отловить ошибку в структуре и прочем немытом жассе. Здесь идея в том, чтоб не запускать компиляцию а подсвечивать ошибки прям при написании кода. Как и в остальных, нормальных яп.
Притом повторюсь, жасс хелпер написан через одно место.
0
9
3 месяца назад
0
Потом очень полезная функция из теша это function list. Мне система better triggers не очень нравится именно из-за того , что там эта функция отсутствует. Часто забываешь названия функций, нужно напомнить себе. Часто помогает найти функцию в гуи , перевести в текст. В сторонней среде разработки, естественно, это невозможно, поэтому function list был бы очень хорош.

Притом повторюсь, жасс хелпер написан через одно место.
да, это и не важно, присутствие функционала это не минус , а плюс.
Как и в остальных, нормальных яп.
Ну в любом нормальным языке также реализовано указание на критические ошибки при компилировании.
0
29
3 месяца назад
0
Koladik, единственная проблема найти на это время. Просто меня зацепила вся эта возня с деревьями, парсерами и прочей лабудой. А так как JASS простой как палка, то решил начать чвои тренировки на нём и реализовать полноценную поддержку как у взрослых дядек.
Ответы (1)
0
9
2 месяца назад
0
Как вызвать JassHelper для скрипта, я писал тут.
Жаль что ты не написал как сделать это под линукс. :( Вообще под убунту плагин едва ли не единственный адекватный способ писать на джазе.
nazarpunk, Хотелось бы, чтобы переменные integer, unit тоже подсвечивались, синим например. И я не оч понял, зачем для vjass отдельное разрешение .vj потребовалось? Вроде для всех файлов стандартно .j используют.
0
28
3 месяца назад
Отредактирован PT153
0
Koladik, ну карту ты в редакторе сохраняешь, а не в теше. Ты в IDEA можешь просто сделать конфиг для вызова JassHelper для своего скрипта. Как вызвать JassHelper для скрипта, я писал тут.
Что касается списка функций - есть такой сайт. Там есть поиск, а также подробная документация по функциям, чего в function list у теша нет.
0
9
2 месяца назад
Отредактирован Koladik
0
Вот такую проблему еще пишет при слове initilazer
<func def>, <module def>, <struct def>, VjassIToken.endlibrary, VjassIToken.globals, VjassIToken.hook or VjassIToken.requires expected, got 'initializer'

library AIHarvestLib2 initializer onInit uses HandlerLib
И на globals ругается почему-то

в vj формате function подсвечивает а endfunction нет, хотя в ,j все нормально

А это значит? Можно как-то узнать куда строки из wts файла вставляются?
Планируется реализовать поддержку файла строк и линковку их с JASS файлами.
Ответы (1)
0
29
2 месяца назад
0
Я оставил только requires. Ибо судя по статье только он каноничен.
По абсолютно бессмысленным причинам, вы можете указывать зависимости посредством любого из 3х ключевых слов - requires, uses, needs.
И на globals ругается почему-то
Я не писал восстановление и посему все ошибки после первой неверны.
в vj формате function подсвечивает а endfunction нет, хотя в ,j все нормально
Забыл промапить токены, в следующем обновлении исправлю, когда допишу конвертер JASS в AngelScript.@Koladik:
Можно как-то узнать куда строки из wts файла вставляются?
Там же примитивный формат TRIGSTR_число. Значит можно всё распарсить и получить строки.
0
9
2 месяца назад
Отредактирован Koladik
0
Я оставил только 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)
0
29
2 месяца назад
0
что эти строки меняются как черти
Нет никаких гарантий в порядке следования номеров.
Офигительный вывод.
В Zinc остался только required, да и если память на изменяет, то в оригинальной статье писалось, что синонимы идут в лес.
Смысл заявлять о поддержке vJass, когда на самом деле её нет?
Вообще нет, вот ни капельки?
0
20
2 месяца назад
0
Koladik, vJass в рефоге - это как бы дефолт vJass, можешь даже эти файлы через CASC Viewer посмотреть и нет, а хотя чего уж там, вот оно:
Говоря короче, "всё остальное" - это и есть сам jasshelper. :)
Ну а по поводу wts файла, лучше работать в целом без него, или следуем гайду от Прометея. Но я лично советую использовать W3X2LNI или аналог для возможности редактирования всего через банальный текстовик.
Загруженные файлы
0
28
2 месяца назад
Отредактирован PT153
0
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, то считаю, что всё же стоит их добавить в грамматику плагина, дабы сделать её полной.
0
28
2 месяца назад
0
Unryze, да vJass в рефе можно просто в проводнике посмотреть.
Загруженные файлы
1
29
2 месяца назад
1
PT153, добавлю в следующей версии. На днях опубликую.
0
9
2 месяца назад
0
PT153, я просто хотел сказать, что страхи по поводу того, что его удалят уже не актуальны.
0
28
2 месяца назад
Отредактирован PT153
0
nazarpunk:
Я оставил только requires. Ибо судя по статье только он каноничен.
Офигительный вывод. В статье даже слова "каноничный" нет. Не смотря на то, что это вольный перед GetLocalPlayer, который даже не все фичи языка перечислил в некоторых разделах. Рекомендую ссылаться на оригинал.
Смысл заявлять о поддержке vJass, когда на самом деле её нет?
Формат примитивный, проблема в том, что эти строки меняются как черти, например если создать апгрейд с 10-ю уровнями, порядок строк и описаний будут тасоваться в зависимости от того в каком порядке их править.
  1. Создаём улучшение/способность.
  2. Заполняем уровень 1.
  3. Просим автоматически заполнить остальные уровни.
  4. Все дальнейшие правки делаем только в .wts посредством карты-папки или через экспорт и импорт строк.
  5. Номера строк не меняются, идут в порядке уровней.
  6. ???
  7. PROFIT.
4
29
2 месяца назад
4
Вышла новая версия!

2.0.17

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

2.0.18

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

2.0.19

Добавлена подсветка .lni файлов для w3x2lni.
Загруженные файлы
3
29
1 месяц назад
Отредактирован nazarpunk
3
Вышла новая версия!

2.0.21

Доработано форматирование и грамматика для AngelScript.
2
29
4 недели назад
Отредактирован nazarpunk
2
Вышла новая версия!

2.0.22

  • Исправлены некоторые ошибки AngelScript
  • Добавлена поддержка .wts
  • Добавлена группировка файлов. Как вам такое, вскодеры?
Загруженные файлы
2
29
3 недели назад
Отредактирован nazarpunk
2
Вышла новая версия!

2.0.23

  • Мелкие фиксы строк
  • Совместимость с IntelliJ 2024.1
1
29
3 недели назад
Отредактирован nazarpunk
1
Вышла новая версия!

2.0.25

Хотфикс для совместимости с 2024.1.

Чтобы оставить комментарий, пожалуйста, войдите на сайт.