Недавно вышла новая версия MPS 2018.2 со множеством долгожданных изменений. Если коротко, то в этом релизе вас ждут улучшения миграции, новые генерационные планы, GitHub-плагин и не только. Подробности — ниже.
Уведомления о миграции
Мы реализовали уведомления о миграции, чтобы лучше информировать вас о происходящем: теперь вы будете получать уведомление, если проект зависит от языка, который по какой-либо причине невозможно загрузить, или если миграция отложена.
Новый аспект VCS
Мы добавили новый аспект языка VCS. Теперь вместо создания аннотаций к объявлению концепции создается аспект языка. Аспект генерируется для конкретного кода среды выполнения. Аспект VCS заменяет собой аннотацию MergeHints, предоставляется миграция.
Раньше:
Теперь:
Плагин GitHub
Реализован плагин GitHub. Теперь в GitHub можно войти следующим образом: VCS > Checkout from Version Control > Git > Log in to GitHub…
Тесты генераторов
В дополнение к существующему семейству тестов для узлов и редактора мы реализовали новый способ тестирования генераторов. Задача в том, чтобы подтвердить, что генератор или набор генераторов действительно выполняют свою работу. В IDE поддерживаются режимы выполнения как внутри процесса, так и вне процесса, а также выполнение из скриптов сборки MPS Ant.
Ветвления в планах генерации
В планах генерации появился новый оператор: fork with . Он разветвляет последовательность преобразований в заданной точке. Указанному плану передается модель в том состоянии, в котором она находилась на шаге ветвления, затем преобразование выполняется как обычно. В приведенном выше примере сначала выполняется преобразование входной модели генератором crossmodel.entity и записывается состояние, затем с помощью генератора crossmodel.property#prop2class в итоге получается модель №1. Затем генератор crossmodel.property#prop2xml преобразует записанную модель в выходную модель №2. Обратите внимание, что слово «затем» здесь не обозначает обязательство — нет гарантий, что ветви будут обработаны в каком-либо определенном порядке, за исключением того, что «основная» ветвь из первоначального плана произведет «первую и единственную» выходную модель, доступную через старый API (GenerationStatus#getOutputModel) для совместимости/миграции.
Ветвления в тестах генерации
Тесты генератора поддерживают планы генерации с оператором fork и сверяют все выходные модели с предоставленными исходными.
Эти и другие возможности MPS 2018.2 описаны более подробно на странице What's New, скачать новую версию можно здесь.
Мы стараемся делать MPS еще лучше каждый день, и ваши отзывы нам очень помогают. Всегда ждем ваших комментариев здесь или в трекере.
Ваша команда JetBrains MPS
The Drive to Develop
Уведомления о миграции
Мы реализовали уведомления о миграции, чтобы лучше информировать вас о происходящем: теперь вы будете получать уведомление, если проект зависит от языка, который по какой-либо причине невозможно загрузить, или если миграция отложена.
Новый аспект VCS
Мы добавили новый аспект языка VCS. Теперь вместо создания аннотаций к объявлению концепции создается аспект языка. Аспект генерируется для конкретного кода среды выполнения. Аспект VCS заменяет собой аннотацию MergeHints, предоставляется миграция.
Раньше:
Теперь:
Плагин GitHub
Реализован плагин GitHub. Теперь в GitHub можно войти следующим образом: VCS > Checkout from Version Control > Git > Log in to GitHub…
Тесты генераторов
В дополнение к существующему семейству тестов для узлов и редактора мы реализовали новый способ тестирования генераторов. Задача в том, чтобы подтвердить, что генератор или набор генераторов действительно выполняют свою работу. В IDE поддерживаются режимы выполнения как внутри процесса, так и вне процесса, а также выполнение из скриптов сборки MPS Ant.
Ветвления в планах генерации
В планах генерации появился новый оператор: fork with . Он разветвляет последовательность преобразований в заданной точке. Указанному плану передается модель в том состоянии, в котором она находилась на шаге ветвления, затем преобразование выполняется как обычно. В приведенном выше примере сначала выполняется преобразование входной модели генератором crossmodel.entity и записывается состояние, затем с помощью генератора crossmodel.property#prop2class в итоге получается модель №1. Затем генератор crossmodel.property#prop2xml преобразует записанную модель в выходную модель №2. Обратите внимание, что слово «затем» здесь не обозначает обязательство — нет гарантий, что ветви будут обработаны в каком-либо определенном порядке, за исключением того, что «основная» ветвь из первоначального плана произведет «первую и единственную» выходную модель, доступную через старый API (GenerationStatus#getOutputModel) для совместимости/миграции.
Ветвления в тестах генерации
Тесты генератора поддерживают планы генерации с оператором fork и сверяют все выходные модели с предоставленными исходными.
Эти и другие возможности MPS 2018.2 описаны более подробно на странице What's New, скачать новую версию можно здесь.
Мы стараемся делать MPS еще лучше каждый день, и ваши отзывы нам очень помогают. Всегда ждем ваших комментариев здесь или в трекере.
Ваша команда JetBrains MPS
The Drive to Develop
Комментарии (2)
advertka Автор
22.08.2018 19:12На русском есть немного информации здесь: jetbrains.ru/products/mps, а ещё презентация: 0x1.tv/20171021AK.
kot_mapku3
А где можно почитать, что это вообще за инструмент? С английским не очень хорошо.