Visual Studio Code: WarCode

Добавлен , опубликован
Предназначение:

WarCode

Расширение для VSCode, позволяющее работать с чистым и незамутнённым jass.
Основано на библиотеке Chevrotain, поиграться с которой можно здесь.
Грамматики основаны на jassjs, только значительно улучшены.

.j

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

.zn

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

.wts

Написана новая грамматика для поддержки .wts.

.slk

Добавлен простой просмотр и примитивный редактор .slk.

Цветовая схема

Настройка собственной цветовой схемы прекрасно описана здесь.
Список токенов для применения цветов находится здесь.

Тестирование

Если вы используете расширения, наподобие ujass, то отключите их для директории, в которой производите тестирование. Так же отключите это расширение для ваших рабочих директорий.

Прекращение разработки

Ввиду абсолютной унылости VSCode было принято волевое решение сменить платформу.

Повторное прекращение разработки

Плагин повторно прекращает свою разработку в пользу JASS-ANTLR-Kotlin-VSCode.

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

Поддержать проект

Можете просто поддержать XGM, мы с удовольствием проведём интересный конкурс на эти деньги.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
25
nazarpunk хорош, спасибо)
А документация ну как обычно жиза :D
38
Борьба Nazarpunk против быстрых современных решений)

Жду отстрел жопы jvm и переход на настоящий visual studio с её dll плагинами. А потом может сразу на асм, ну её, эту цивилизацию
14
ScorpioT1000: Борьба Nazarpunk против быстрых современных решений
тоже наблюдаю за этим сериалом
38
Форматирование в вскоде просто выдаёт тебе содержимое файла и предлагает самому его отформатировать заменив прежнее содержимое. И потом заново строить дорогое дерево
Там в любом случае ты строишь либо всё, либо часть дерева заново, потому что файл может быть изменен в любом месте. А свобода выбора решений для кеширования и архитектуры - так это скорее плюс. Можно делать всё, что вздумается. Хоть встроить вскоды в вскод и мониторы в мониторы
30
Можно делать всё, что вздумается.
Например разметить многострочный токен?
Вот тебе простейший пример. В IntelliJ я сделал кастомный текст при сворачивании. Удачи сделать такое в VSCode.
А свобода выбора решений для кеширования и архитектуры - так это скорее плюс.
Ты не поверишь, в IntelliJ тоже свобода выбора, только помимо великого ничего как в вскоде есть искаропка, которая покрывает большинство случаев.
А потом может сразу на асм, ну её, эту цивилизацию
Логика просто шикарна. Вместо простого добавления языка в IDE ты предлагаешь сделать IDE из VSCode?
Загруженные файлы
38
Почему другие языки офигенно работают в вскод, а у тебя какие-то великие беды.
Может быть дело было не в бобине?)
Загруженные файлы
30
Почему другие языки офигенно работают в вскод, а у тебя какие-то великие беды.
Офигенно? Давай проедём простейший тест:

VSCode

IntelliJ

Загруженные файлы
18
Офигенно? Давай проедём простейший тест
Причем тут vscode?

Начнём пожалуй с выбора языка. У intelliJ типизированная java что только одной строгой типизацией заруливает унылый ts, насчёт которого у меня есть что сказать
Начать стоит с вопроса - причем тут ЯП? LSP сервер пишется на любом языке, хоть на lua хоть на go
Загруженные файлы
30
Причем тут vscode?
js у обоих искоробочный. И правда, при чём здесь vscode?
Начать стоит с вопроса - причем тут ЯП?
И правда, мы же рунами на бересте пишем.
LSP сервер пишется на любом языке, хоть на lua хоть на go
Работать с апи ты тоже будешь на любом языке?
38
А если у меня
не значит html, то надо писать кучу noinspect?

В целом implicit language injection это спорная трата цпу, как минимум на маленьких константах, их может быть очень много и парсить все строки в проекте на наличие всех языков антоним быстродействия
30
их может быть очень много и парсить все строки в проекте
Там не парсятся все строки. Там ты сам задаёшь, где в твоём языке может быть иньекция и сам определяешь инъекции в другие языки. Но основная фишка в том, что ты можешь написать плагин, который может влиять на другие плагины и добавлять к ним свой функционал. Для реализации такого веселья в вскоде нужно крутить сальтухи.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.