Перейти к содержимому


Фотография

SQF для VS Code


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 July 2018 - 01:31

Выкладываю тут свою версию SQF для VS Code, ибо единственный существующий SQF для него, ИМХО, не очень. Может кому-нибудь тоже пригодиться

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание



Особенности:
  • Препроцессор
  • Подсветка устаревших команд и функций
  • Подсветка некоторых ошибок
  • Подсветка имен зарезервированных разработчиками и некоторыми популярными модами
  • Отдельная подсветка зарезервированных имен, которые совпадают с существующими функциями и переменными
  • Небольшая библиотека сниппетов (xor, if-else, do-while, compile и т. д.)
  • 3 темы на выбор: темная, светлая и контрастная (Черная)
Планируется:
  • Синтаксис для config.cpp/extension.ext
  • Синтаксис для SQS
  • Отдельная подсветка макросов и их аргументов
  • Проверка синтаксиса (Операнды, правильная последовательность символов, отсутствия вложенных #if)
  • Поддержка версии SQF из других частей ArmA, OFP и Take on Helicopters (Сейчас только ArmA 3)
  • Описание и автодополнение команд
  • Пополнение списка зарезервированных имен, вместе со списком функций и переменных
PS Предлагайте свои идея, а я пока изучаю regex и js применительно к VS Code
  • 2

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 23 July 2018 - 01:44

Мне вот интересно, в чём смысл всей этой песни, я имею в виду нафига костыли ещё и поверх скриптовых команд, или я чего то не понимаю?


  • 0

#3 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 23 July 2018 - 01:53

SteelRat, да это чисто для удобства, делал изначально для себя т. к. для VS Code единственный вариант для меня не подходил, но потом подумал, почему не выложить, может кому-нибудь еще пригодиться
Мне нужно чисто для проверки написанного мною, а то Арма иногда такое выдает если ошибку допустил, но чаще вообще ничего не видает (Особенно при работе с препроцессором) и тогда сиди часами гадай что не так
Ну и плюс тренировка в регулярных выражениях на практике так сказать :)
  • 0

#4 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 23 July 2018 - 12:36

Э) Сори, я кое с чем другим перепутал)


  • 0

#5 OFFLINE   ReXcOr

ReXcOr

    Ст.сержант

  • Пользователи
  • 264 сообщений
  • Откуда:Moscow

Отправлено 24 July 2018 - 11:59

Полезно, спасибо)
  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2018 - 22:10

v0.6.0
+ Добавлена поддержка конфига армы для файлов:

config.cpp
description.ext
missin.sqm
*.hpp
*.inc

+ Уникальные имена для сниппетов SQF
+ Сниппеты для конфига армы

Сообщение отредактировал vlad333000: 24 July 2018 - 22:11

  • 2

#7 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 сообщений
  • Откуда:SPB

Отправлено 24 July 2018 - 23:05

Для Embercadero studio бы_)


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2018 - 23:23

NoNameUltima, спасибо, но даже пытаться это делать не буду для какого-то не очень распространенного недо-клона Visual Studio за 300+к на пользователя.
PS Что вы там забыли с SQF?

Сообщение отредактировал vlad333000: 24 July 2018 - 23:28

  • 0

#9 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 сообщений
  • Откуда:SPB

Отправлено 24 July 2018 - 23:34


PS Что вы там забыли с SQF?

 

Да тоже, что и в VS, с SQF

Эмбер стоит, визуалку снес давно... недружественна она имхо.

 


какого-то не очень распространенного недо-клона Visual Studio

Оо.... я тут даже и не знаю, что ответить)) Ну хотя, как сказал один человек, - "я не знаю зачем в самолете столько кнопок, но всеж он быстрее чем велосипед")


  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2018 - 23:43

NoNameUltima, во-первых, на кой хрен вам полноценная IDE для разработки скриптов под Арму? У вас что ли есть компилятора/интерпретатора SQF? Дебагер для него?
во-вторых, хз, чем ва мне дружественная VS, да не одну кнопку нажать, но это только потому, что VS - очень мощный инструмент, рассчитанный на серьезное программирование на C++/C# и т. д.
в-третьих, вот праивльная фраза в данном случае: «зачем мне самолет, когда на автомобиле проще доехать до ближайшего магазина»

Сообщение отредактировал vlad333000: 24 July 2018 - 23:43

  • 0

#11 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 сообщений
  • Откуда:SPB

Отправлено 25 July 2018 - 00:22


NoNameUltima, во-первых, на кой хрен вам полноценная IDE для разработки скриптов под Арму? У вас что ли есть компилятора/интерпретатора SQF? Дебагер для него?

Нету, но удобно было бы синтаксис видеть без установки доп. ПО, в привычной среде.


да не одну кнопку нажать, но это только потому, что VS - очень мощный инструмент, рассчитанный на серьезное программирование на C++/C# и т. д.

Это спорное утверждение, и далеко может завести...


  • 0

#12 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 25 July 2018 - 00:28

NoNameUltima, вы будете спорить о том, что Visual Studio это крайне мощный инструмент? Если это не так, то что она забыла в топ-3 IDE?
  • 0

#13 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 сообщений
  • Откуда:SPB

Отправлено 25 July 2018 - 02:20

NoNameUltima, вы будете спорить о том, что Visual Studio это крайне мощный инструмент? Если это не так, то что она забыла в топ-3 IDE?

я про сравнение эмбера и ВС. а не про мощность, ну раз уж такая тема, то наверное со времен борланда альтернативы по скорости и простоте для создания оконных интерфейсов просто нет, и уж там ВС даже рядом не стоит... А по большому счету, кроме разработки драйверов, ну может каких то математических либ, ничего выдающегося по сравнению с ЕК нету, дальше только минусы...

Но как и выше - спорить не вижу смысла - холивар.


  • 0

#14 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 August 2018 - 03:02

v0.7.0

+ Добавлена команда delete в arma-cfg

+ Добавлены команды препроцессора __EVAL и __EXEC в arma-cfg

* Поправлены имена файлов, для которых по умолчанию будет использоваться язык arma-cfg

* Небольшие изменения в цветах dark темы

* Переработаны регулярные выражения для arma-cfg и препроцессора в sqf

 

v0.7.1

+ Команды и переменные для версии v1.84


Сообщение отредактировал vlad333000: 05 August 2018 - 03:30

  • 1

#15 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 05 August 2018 - 11:36

vlad333000, у меня почему-то выглядит так:

Прикрепленный файл  01.png   6.44К   0 Количество загрузок:

То есть директивы препроцессора всегда синие, а команды -- белые.

Также заметил, что если команду полностью не напечатать (например, "exitWi"), то цвет текста будет голубым, но как только команду полностью напечатаешь, то он станет белым.


Сообщение отредактировал Schatten: 05 August 2018 - 12:04

  • 0

#16 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 August 2018 - 13:07

Schatten, ты используешь стандартную цветовую тему, и т. к. я решил использовать для комманд scope "keyword.operatop.word", то у тебя команды все белые. Либо ручками выставь для этого скопа в настройках любой понравившийся цвет, либо выбери тему "[SQF] Dark" (Все другие языки остануться такими же, изменятся только цвета для SQF и arma-cfg). То, что до полного ввода команды - они другого цвета, это потому что до этого они переменными считаются, а не командами

PS Когда включишь, отпишись как тебе тема, я старался максимально различить разные объекты, и возможно выбрал упоротые цвета для некоторых объектов :D

Сообщение отредактировал vlad333000: 05 August 2018 - 13:27

  • 0

#17 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 05 August 2018 - 14:34

Может я особенный, но разноцветность в коде, лично меня, постоянно дизориентирует).

Для себя вижу оптимальным подобное

Прикрепленный файл  screenday_01.png   198К   0 Количество загрузок:

 

Я даже видимо по этому, по большей части испытываю больше теплоты к инструментам типа юнити, в силу того что его дефолнтая цветовая гамма интерфейса виндовая, за годы уже утрамбованная). А в анриал или крайенжин как пример сбивают мне абсолютно всё внимание одним своим пёстрым интерфейсом.


  • 0

#18 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 August 2018 - 14:45

SteelRat, ааааааа, светлая тема!!!!! xD
  • 0

#19 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 05 August 2018 - 16:53

vlad333000, теперь выглядит так:
Прикрепленный файл  01.png   10.63К   0 Количество загрузок:
По-моему, переключать тему, чтобы текст поменял цвет, -- плохая идея. Также считаю, что названия команд и значений директив слишком тёмные на тёмной теме. Да и я бы не стал различать по цвету какая переменная -- локальная или глобальная.
 
Кстати, судя по картинкам в Marketplace, расширение выделяет разными цветами локальные и глобальные переменные, но у меня нет. Снова надо что-то сделать?


  • 0

#20 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 August 2018 - 17:00

Schatten, ну у вас даже на картинке видно что _path (Приватная) и SCH_var_serverFolder (Глобальная) - разного цвета :)
Какой по вашему мнению будет лучший цвет для команд и значение макросов? У меня после работы с регулярными выражениями для этой штуки уже глаза замылились, тяжело подобрать хорошие цвета для каждого объекта
PS Можно конечно попробовать подогнать скопы под стандартную тему, но возможно их смысл поломается :) еще попробую поискать, может есть команды для того, что бы автоматически включить тему для языка... только начинаю в этой штуке разбираться
  • 0




Яндекс.Метрика