Это последний выпуск MPS в текущем году.
В этой версии появились новые функции и улучшения в различных важных областях: редактор, генератор, язык раскладки и многое другое.
Мы очень довольны прогрессом MPS и перспективами дальнейшего развития.
Мы всегда прислушиваемся к мнению сообщества, когда решаем, какие еще функции следует добавить в MPS, чтобы помочь вам создавать невероятные проекты! Скачать МПС 2017.3 Расскажем подробнее о нововведениях.
редактор
Универсальные наполнители
Мы ввели концепцию универсального заполнителя.Общие заполнители можно использовать для представления пустых позиций в любой коллекции на любом языке, а также они могут содержать полезный контент. По умолчанию узел-заполнитель отображается в редакторе как пустое место, и его поведение прозрачно — находясь в нем, вы можете вызвать автодополнение, чтобы заменить заполнитель каким-либо языковым элементом, который может находиться в этом месте.
Или вы можете нажать Enter и добавить новый элемент на следующую позицию в этой коллекции.
Универсальный заполнитель вставляется с помощью сочетания клавиш Control/Cmd + Shift + Enter.
Плавающие комментарии
Появление универсальных заполнителей позволило реализовать универсальное комментирование на предметно-ориентированных языках (DSL).Чтобы воспользоваться этой функцией, просто импортируйте язык общего назначения jetbrains.mps.lang.text или Devkit. В результате вы получите язык свободно редактируемых многострочных комментариев с гиперссылками, с возможностью настройки шрифта (жирный, курсив, подчеркивание), внутри которого также можно вставлять код. Чтобы ввести комментарий, просто наведите курсор на универсальный заполнитель, нажмите «[» и начните печатать.
Если стандартного языка комментариев недостаточно, вы можете создать свой собственный с дополнительными возможностями.
Установка шрифта для ячеек
В определении редактора теперь можно настроить не только размер и стиль шрифта, но и гарнитуру.Выражение fontFamily позволяет ссылаться на все установленные семейства шрифтов.
Выберите все
Новое действие SELECT_ALL позволяет выбрать все содержимое редактора.Он вызывается сочетанием клавиш Control/Cmd + A, а его поведение можно настроить в соответствии с вашими предпочтениями с помощью карточек действий.
Отмена для удаленных узлов
Раньше удаление корневых узлов было очень опасной задачей, поскольку при этом терялась история изменений.Теперь мы улучшили механизм отмены.
С этого момента, вернув удаленный корень с помощью функции отмены, вы сможете отменить изменения, внесенные в этот корневой узел до его удаления.
Генератор
Связывание моделей контрольных точек
Контрольные точки теперь поддерживают переход по ссылкам, отмеченным меткой сопоставления, без необходимости одновременного создания ссылки и того, на что она ссылается.Теперь вы можете безопасно разрешать ссылки, даже если узел, на который они ссылаются, был создан на более ранней контрольной точке.
Устранить чрезмерную перезапись файлов
Процесс сборки больше не перезаписывает созданные файлы, содержимое которых идентично только что созданным.Теперь вы можете рассчитывать на то, что на диске обновляются только действительно измененные файлы.
Язык раскладки
Новый способ копирования ресурсов модуля
Корневой узел контента «ресурсы», указанный в модулях, теперь используется для копирования ресурсов в развернутый модуль.Предусмотрена специальная миграция для переноса тех файлов масок, которые ранее были жестко запрограммированы в коде, в шаблоны для копирования ресурсов.
Муравьиные задачи
Задача Ant MPS обеспечивает полный контроль над содержимым репозитория с помощью нескольких новых тегов: модуль, модули и allmpsmodules.Улучшения задач Ant для миграции
Задача миграции Ant теперь имеет более удобный интерфейс.Если во время миграции возникают проблемы, сценарий Ant прекращает работу и корректно сообщает об ошибках.
Поддерживаются все старые атрибуты для указания местоположения mps — переменные окружения mps.home и mps_home, а также атрибут самой задачи mpshome. Однако в дальнейшем желательно использовать свойство среды mps.home.
Улучшения упаковки пакета разработки
Модули типа Devkit, представляющие собой сборники языков и библиотек для конкретных нужд пользователя, теперь содержатся в дистрибутиве не в виде отдельных файлов, а упаковываются в jar-файлы так же, как и другие модули.Чтобы автоматически обновить ваш скрипт сборки и начать упаковывать его по-новому, используя новую конструкцию «модуль», вам не нужно делать ничего особенного — миграция произойдет автоматически.
Другие улучшения
NodePointer для дочерних элементов
Выражение nodePointer из lang.smodel теперь может ссылаться не только на корневые узлы, но и на любые именованные элементы.
Учет зависимостей модели при сборке
При создании модели также собираются все ее зависимости, которые необходимо перегенерировать.Это экономит время и позволяет избежать неприятных сюрпризов.
Улучшено клонирование модели.
Действие «Клонировать модель» правильно обновляет перекрестные ссылки между различными корнями для клонированных элементов модели.
Теперь клонированная модель полностью независима от исходной.
Вот и все.
Надеемся, вы останетесь довольны всеми новинками.
Мы всегда прислушиваемся к вашему мнению.
Присоединяйтесь к нам на Твиттер и подключайтесь к нашему каналу слабый чтобы первыми узнавать об обновлениях и делиться своими отзывами! Удачи! Ваша команда JetBrains MPS Стремление к развитию Теги: #Исследования и прогнозы в ИТ #jetbrains #mps #dsl #Domain Feature Language #language Workbenchl #Projectional Editor
-
Дайджест Интерфейса, Октябрь-Ноябрь 2013 Г.
19 Oct, 24 -
Рынок Смартфонов Сша (Новое Исследование)
19 Oct, 24 -
Мир Без Сопрограмм. Генератор Итераторы
19 Oct, 24 -
Обновления Скрипта Расчета Google Analytics
19 Oct, 24