Добавлен , опубликован
Когда начинаешь работать с кодом, то неизбежно услышишь пожелания сделать плагин к любимому редактору кода. Так как по техническим причинам разработка прошлого плагина приостановлена, было решено обмазаться LSP и добавить плагин для Visual Studio Code.

Установка

  • Установите node.js
  • Установите JDK23
  • Перегрузите ПК
  • Проверьте установку введя java --version в терминале:
java 23.0.2 2025-01-21
Java(TM) SE Runtime Environment (build 23.0.2+7-58)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7-58, mixed mode, sharing)

UjAPI

Плагин разрабатывается с больши упором в сторону UjAPI, посему, что бы не говорили особо одарённые личности, но будущее варкрафта за ним. Посему и common.j здесь встроен уже с новыми нативками. Так что если вы хотите регулярно получать свежие обновления, то можете установить плагин только ради них.

Зачем это нужно?

Как ни прискорбно это звучит, но у мега популярной игры за более 20 лет её существования практически нет нормальных инструментов для работы с кодом, что я собрался исправить. Набив несколько шишек на прошлых итерациях (раз, два, три) сейчас мне кажется я подобрался к реализации продукта, который совокупно с документацией позволит по человечески писать и проверять код не отходя от кассы.

Зачем это нужно именно вам?

Ничто не мешает вам писать код на гуймуй и наслаждаться процессом. Но если вы всё же решитесь поучаствовать в тестировании, то в первую очередь будут рассматриваться ваши хотелки. Да и не прикольно ли это поучаствовать в создании чего-то интересного?

Планы на будущее

На данный момент плагин умеет только в чистожасс. При наличии неравнодушных людей будет реализована поддержка VJASS и ZINC. Если же по старой традиции комунити положит болт, то я просто буду реализовывать поддержку AngelScript для собственных нужд.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2 комментария удалено
30
Последние новости!
Как оказалось, я не могу исправить комментарий.

Проблема с запуском решена

Оказывается, вскода, имеющая внутри node.js для полноценной работы требует отдельно установленную node.js. Я считаю это гениально.
Загруженные файлы
Этот комментарий удален
30
Вышла новая версия! Прокрутить к ресурсу
Проделано много работы. Весь код собран в единый jar архив, добавлена недостающая подсветка и наброски проверки типов выражений. Правда нарисовалась беда с позиционированием ошибки.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
Добавлен список функций в блок OUTLINE. Дополнены проверки типов.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
Добавлено простое автодополнение, которое пока не учитывает положение курсора.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
Были пролинкованы все элементы и добавлена подсветка вхождений.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
  • добавлена аннотация функций при наведении
  • добавлен переход к объявлению по Ctrl+click
Загруженные файлы
Ответы (5)
30
KaneThaumaturge, я ещё не нашёл нормального способа сделать документацию чтоб она одновременно была доступна в интернете и её можно было подтягивать в эдитор. Ну а вариант с комментариями не катит по причине отсутствия локализации.
20
nazarpunk, не, я просто про возможность просмотра коммента к функциям. Китайский плагин плох в этом
30
KaneThaumaturge, если просто выводить комментарии, которые выше функции, то это можно запилить. Правда они будут в Markdown.
20
nazarpunk, я бы поставил тебе еще один лайк, но скорп запретил ставить больше
14
С каждым апдейтом все круче и круче!
а реально подобный плагин превратить как плагин под worldeditor для работы с jass - альтернатива tesh? или многое завязано именно на функционале vscode?
Ответы (2)
30
AMark, после многочисленных проб и ошибок стало понятно что для .j файлов людям нужна поддержка цельного war3map.j максимально приближённая к игре. Для разработчиков карт заедет поддержка VJASS/ZINC где есть встроенный механизм импорта из внешних файлов. Вот он и благополучно заменит вcтроенный TESH. Особенно если я осилю экспорт кода из *.wct.
30
или многое завязано именно на функционале vscode?
Плагин реализует LSP и поэтому ему вообще неважно, какой редактор будет слать в него запросы. Другой вопрос кто реализует поддержку LSP в эдиторе?
30
Вышла новая версия! Прокрутить к ресурсу
  • Обновлен common.j для UjAPI v1.1.27.285
  • По запросу KaneThaumaturge был добавлен вывод комментариев которые прилегают к функции. Комментарии распознаются как Markdown.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
  • добавлена проверка аргументов функции
На данный момент поддержка JASS будет осуществляться только в виде фиксов багов. Все усилия перемещаются в поддержку гряхножасса.
Загруженные файлы
30
Вышла новая версия! Прокрутить к ресурсу
  • сервер был обучен поддерживать несколько языков
  • сделаны наброски поддержки [https://xgm.guru/p/wc3/vjassmanual]
Из-за прелестей самого лучшего редактора в мире пришлось захардкодить разрешения файлов:
Разрешение Язык
.j Чистый, незамутнённый JASS
.vj VJASS
.zn ZINC
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.