Jump to content

SolidCAM Postprocessor IDE — v1.0.0: полноценная среда разработки постпроцессоров в VS Code


andrey.a.zorin

Recommended Posts

andrey.a.zorin

Привет, коллеги!

Рад представить v1.0.0 расширения SolidCAM Postprocessor IDE для Visual Studio Code — первый стабильный релиз.

Если вы пишете или сопровождаете постпроцессоры SolidCAM на языке GPPL — это расширение превращает VS Code в полноценную IDE с подсветкой, навигацией, автодополнением, диагностиками и форматированием.


Что умеет расширение

Семантическая подсветка и Hover: Подсветка по смыслу, а не по шаблонам: переменные, процедуры, параметры, ключевые слова, типы, операторы, системные переменные и встроенные функции — всё раскрашено языковым сервером. Наведите курсор на любой символ — увидите его тип, область видимости, количество ссылок. 48 встроенных функций (abs, substr, atan2, date...) показывают полную сигнатуру, описание и примеры.

Автодополнение: Контекстные подсказки для ключевых слов, встроенных функций, ваших переменных и процедур, а также 950+ системных переменных и 94 системных процедур SolidCAM с описаниями. Встроенные функции разворачиваются как сниппеты с tab-stop'ами по именам параметров.

Навигация: F12 / Ctrl+Click — перейти к определению. Shift+F12 — найти все ссылки. Ctrl+Shift+O — структура документа (Outline). Ctrl+Click на inc "file.gpp" — открыть включённый файл.

Переименование (F2): Встаньте на переменную или процедуру, нажмите F2 — все вхождения переименуются за один раз. Работает с учётом области видимости: локальная переменная в @worker не затронет одноимённую глобальную или локальную в другой процедуре.

Диагностики: Ошибки парсера с понятными сообщениями. Семантические проверки:

  • Необъявленные идентификаторы (GPPL2007)
  • Несоответствие типов при присваивании (GPPL2008)
  • Перекрытие переменных при объявлении
  • Локальная переменная скрывает глобальную (GPPL2004)
  • Отсутствует @init_post (GPPL2005)
  • Глобальные вне @init_post (GPPL2006)
  • Символы вне целевой кодировки (GPPL3001)

Каждая диагностика имеет стабильный код (GPPL1xxx — синтаксис, GPPL2xxx — семантика, GPPL3xxx — кодировка).

Quick Fix (Ctrl+.): Одним кликом: вставить пропущенный endp/endif/endw, закрыть строковый литерал, переименовать конфликтующую переменную, сгенерировать заглушку @init_post, переместить глобальную переменную в @init_post.

Форматирование (Shift+Alt+F): Автоматический отступ и расстановка пробелов на основе дерева разбора. Работает даже в файлах с ошибками синтаксиса — корректные участки форматируются, проблемные остаются как есть.

Signature Help: Подсказки параметров при вызове процедур и встроенных функций — с типами аргументов и описаниями.

Сниппеты: proc → процедура, if/while/call/global/local/region/cg — всё с tab-stop'ами.

VMID-переменные: Расширение автоматически читает .vmid файл (совпадающий по имени с постпроцессором: my_post.gpp  my_post.vmid) и распознаёт переменные станка — они появляются в автодополнении, hover'е и участвуют в проверке типов.

Локализация: Английский, русский, немецкий — описания системных переменных, процедур, диагностики, элементы интерфейса. Язык определяется автоматически по настройке VS Code.


Установка

В VS Code: Ctrl+Shift+X → поиск SolidCAM Postprocessor IDE → Install.

Или командой:

code --install-extension anzory.vscode-gppl-ide

Офлайн: скачайте .vsix с Marketplace → Extensions → Install from VSIX.

Требования: Windows, VS Code 1.75+.


Для постпроцессоров с кириллическими символами

Если ваши .gpp файлы в Windows-1251, добавьте в settings.json:

"[gppl]": { "files.encoding": "windows1251" },
"gppl.encoding": "windows1251"

Ссылки

 

Буду рад обратной связи — пишите или сюда, или в Issues, что работает, что нет, чего не хватает. Расширение создано как для разработчиков постпроцессоров, так и для тех, кто просто решил поправить свой постпроцессор, и ваш опыт бесценен.

Link to post
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...