Nitra IDE plug-ins
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.02.17 15:42
Оценка:
#Имя: Nitra.IdePlugins
Плагины для языков сделанных на Nitra языков можно сгенерировать утилитой Nitra.LanguageCompiler.exe. В солюшене Nitra.sln автоматически генерируются и собираются плагины для Cx# (сам проект сильно недоделан) и для Nitra.

Плагины работают, но я бы оценил их качество на сегодня как "бэта-версия", т.е. возможны баги.

Инсталлятора к ним нет и не будет. Плагины генерируются в формате .vsix, который по сути и есть инсталлятор.

Основной код поддержки VS находится в проекте NitraCommonVSIX. Это тоже .vsix. Для работы сгенерированных плагинов он должен быть установлен в студии. Инсталляция сгенерированных для конкретных языков плагинов добавляет поддержку этих языков.

При сборке Nitra.sln NitraCommonVSIX и плагины для Cx# и Nitra автоматически ставятся в девелоперский Hive (Path-to-VS-2015\Common7\IDE\devenv.exe /rootsuffix Exp).

Плагин для Nitra пока что не полнофункциональный, так как типизация Nitra не полностью переведена на новый движок типизации Nitra (а движок IDE использует именно его). Пока что более менее работает часть, связанная с синтаксисом, а вот в области работы с AST и маппингом много чего недоделано. Это будет исправлено в ближайшие месяцы. Именно над этим мы сейчас и работаем.

Когда будет понятно, то плагины стабильны и когда бдет доделан плагин для Nitra мы разместим NitraCommonVSIX.vsix (базовый планин) и NitraLangVsPackage.vsix (планиг для .nitra) в галерее Майкрософт и их можно будет загружать в диалоге "Extensions and Updates".

Скриншот интеграции с VS для самой Nitra (.nitra-файлов):
https://files.gitter.im/rsdn/nemerle/Toz3/blob
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 03.02.2017 16:14 VladD2 . Предыдущая версия . Еще …
Отредактировано 03.02.2017 15:44 VladD2 . Предыдущая версия .
c# plug-in plugin plugins nitra
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.