IntelliJASS

Added by , published
Программы
Предназначение:
Работа с файлами

Поддержка языков

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

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

`
LOADING AD...
The comment is deleted
0
29
3 months ago
0
PT153, а как же рефакторинг? Помню давеча спрашивали за переименование по вхождению. А поддержка того-же wts? Чтоб из кода можно тупо кликать на строку. Тут работы непочатый край. Где бы на неё ещё найти времени...

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

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

2.0.17

В связи со скорым релизом AngelScript в UjAPI было решено написать несколько простых конвертеров.
Важно! Конвертеры на данный момент не умеют выводить типы выражений и посему не реализована конкатенация в луа и isEmpty для строк в AngelScript.
Replies (2)
0
37
1 month ago
Edited by ScorpioT1000
0
nazarpunk, можно хотябы +" и "+ заменять (конкатенация с константой), и версию с пробелом
0
29
1 month ago
0
ScorpioT1000, если в выражении суммы одно из слагаемых явная строка, то оператор заменяется.
4
29
4 weeks ago
Edited by nazarpunk
4
A new version is out!

2.0.18

Добавлен выбиратор цветов для hex записи числа и некоторых функций.
Uploaded files
3
29
4 weeks ago
3
A new version is out!

2.0.19

Добавлена подсветка .lni файлов для w3x2lni.
Uploaded files
3
29
3 weeks ago
Edited by nazarpunk
3
A new version is out!

2.0.21

Доработано форматирование и грамматика для AngelScript.
2
29
2 weeks ago
Edited by nazarpunk
2
A new version is out!

2.0.22

  • Исправлены некоторые ошибки AngelScript
  • Добавлена поддержка .wts
  • Добавлена группировка файлов. Как вам такое, вскодеры?
Uploaded files
2
29
2 weeks ago
Edited by nazarpunk
2
A new version is out!

2.0.23

  • Мелкие фиксы строк
  • Совместимость с IntelliJ 2024.1
1
29
1 week ago
Edited by nazarpunk
1
A new version is out!

2.0.25

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

To leave a comment please sign in to the site.