Теперь MPS использует IntelliJ Platform 2026.1, JDK 25 и Kotlin 2.3. В Build Language появились транзитивные зависимости, миграции стали более воспроизводимыми, а качество Java-стабов заметно выросло. Благодаря встроенному плагину Projectional Agent Toolkit, ИИ-агенты теперь способны полноценно читать и редактировать модели MPS. Это открывает перед MPS-разработчиками и авторами языков принципиально новые возможности.
Полный список изменений — ниже.
MPS поставляется с плагином Projectional Agent Toolkit, который открывает ИИ-агентам доступ к проекциям, моделям и языковой рабочей среде MPS через протокол Model Context Protocol (MCP). Агенты (такие как Claude Code, OpenAI Codex, JetBrains Junie или любые другие MCP-совместимые клиенты) могут подключаться к запущенному экземпляру MPS и работать с ним точно так же, как это делал бы разработчик: перемещаться по модулям и моделям, читать и редактировать узлы через проекционный редактор, разрешать ссылки, исследовать иерархии концептов, генерировать код и запускать конфигурации. Им больше не приходится воспринимать файлы .mps как непрозрачный XML.
Projectional Agent Toolkit добавляет около десятка наборов инструментов, которые покрывают все аспекты проекта MPS:
Чтобы агенты могли как можно быстрее включиться в работу, в инструментарий входит набор навыков (skills) — специализированных сценариев, разработанных с учетом специфики моделей. Они объясняют агенту, как устроены языки MPS, как реализовывать структурные концепты, как работать с редактором, как записывать BaseLanguage в виде JSON AST и как сохранять DSL-специфичную память для будущих сессий. Навыки доступны через тот же MCP-канал, поэтому только что подключившийся агент может сразу запросить у MPS всю необходимую информацию перед началом редактирования.
Опыт работы с различными ИИ-ассистентами в IDE на базе IntelliJ теперь естественным образом распространяется на разработку языков и DSL. Агент может реализовать новый концепт, настроить для него редактор и ограничения, добавить методы поведения, создать DSL-код, перегенерировать его, а также протестировать и запустить результат — и все это оставаясь в рамках семантической модели MPS. Для проектировщиков языков это превращает ИИ-помощь из удобного автодополнения кода в полноценного соавтора, который понимает проекции.
Projectional Agent Toolkit — экспериментальная возможность, и ее API может измениться в будущем. Она встроена и включена по умолчанию. Просто запустите встроенный MCP-сервер и подключите к экземпляру MPS агент с поддержкой MCP — наборы инструментов и навыки появятся автоматически.
Подробности см. в документации Projectional Agent Toolkit.
MPS 2026.1 завершает переход на актуальное поколение IntelliJ Platform. Средой выполнения теперь служит JDK 25, а встроенная версия Kotlin обновлена до 2.3.0. Кроме того, теперь MPS самостоятельно собирает и поставляет артефакты kotlinx-metadata-klib / kotlin-metadata-jvm из репозитория Kotlin с соответствующим тегом 2.3.0. Это позволило вернуть поддержку Kotlin-стабов на базе KLib, которую последняя публичная версия kotlinx-metadata-klib:0.0.6 уже не могла обеспечить.
ICheckedNamePolicy для конкретных естественных языков
MPS теперь использует встроенную в IntelliJ Platform поддержку естественных языков на базе технологии Grazie. Благодаря этому можно проверять, правильно ли используются заглавные буквы в строковых значениях для объектов с интерфейсом ICheckedNamePolicy (например, в названиях интеншенов, действий или инструментов) согласно правилам конкретного языка.
Теперь можно установить в MPS поддержку нужных естественных языков: IDE будет определять язык строк и проверять корректность написания отдельных слов с заглавной буквы. Также можно обойти механизм определения языка и явно указать нужный язык.
Помимо правил капитализации Title-case, используемых по умолчанию, MPS предлагает еще три варианта:
ICheckedNamePolicy
В редакторе появилась возможность разбивать длинные строки с бинарными операциями. С помощью специального intention-действия можно быстро переключаться между однострочным и многострочным отображением для выбранного выражения BinaryOperation.
read-only-inspector Новый стиль read-only-inspector применяет свойство read-only ко всем ячейкам редактора в инспекторе. Если этот стиль назначен ячейке в основном редакторе, то при ее выборе инспектор переходит в режим «только чтение» для текущего просматриваемого узла. Особенности нового стиля:
read-only. read-only, заданный этим механизмом, можно переопределить в любой ячейке ниже по дереву элементов инспектора. В Build Language больше не нужно указывать в dependencies каждый транзитивно достижимый скрипт сборки. Это значит, что скрипт сборки BuildA, зависящий от BuildB, теперь может получить доступ к BuildC через BuildB (при условии, что BuildB зависит от BuildC) без необходимости явно указывать BuildC. Для таких случаев генератор создает Ant-свойства вида ${artifacts.BuildC}, которые можно передать из внешнего инструмента сборки (Gradle, Maven и т. д.).
Это позволяет разбивать крупные сборки на более мелкие без необходимости вручную обновлять списки зависимостей при каждом изменении. Например, один скрипт сборки platform может включать растущий набор внешних библиотек, используемых в разных подпроектах.
Раньше код миграции определял, какие именно миграции нужно применить, на основе фактических зависимостей модуля и используемых языков, собранных прямо в момент запуска процесса. При этом версии считывались из снимка зависимостей, сохраненного в дескрипторе модуля. Из-за этого несоответствия миграции могли выполняться в контексте, отличном от того, в котором модуль находился при своем последнем изменении.
В версии 2026.1 механизм миграций последовательно использует зависимости и используемые языки, записанные в дескрипторе модуля на момент последнего изменения, а не текущее наблюдаемое состояние. Механизм проверки миграций был соответствующим образом переработан. Теперь он повторно использует уже собранные для миграции данные вместо того, чтобы вычислять их заново по запросу.
Исправлен ряд давних ошибок в Java-стабах. Это заметно повысило точность генерации стабов BaseLanguage для импортированных .jar-файлов и корней моделей Java Sources:
InnerClasses теперь корректно преобразуются в стабы BaseLanguage. Информация о внутренних классах в сигнатуре и параметризованные типы-владельцы сохраняются, поэтому поля и методы внутренних классов обобщенных внешних классов теперь показывают правильный тип, а не сворачиваются до внешнего класса. java.lang.Object вместо реальной переменной типа. В связи с переходом MPSProject с устаревшего ProjectComponent IntelliJ IDEA на сервис проекта, компонентам с поддержкой MPS нужен надежный способ получать уведомления о создании и закрытии MPSProject.
В этой версии добавлен отдельный механизм для управления процессами запуска и завершения работы MPSProject. Он позволяет MPS гибко контролировать их последовательность, группировку, порядок и распределение по потокам. Такой возможности не предоставляли платформенные ProjectActivity и MPSProjectActivity.
Как это работает: реализации регистрируются в точке расширения jetbrains.mps.project.lifecycleListener (объявлена в MPSCore.xml) через ProjectLifecycleListener.Bean с listenerClass и необязательным целочисленным priority. LifecycleEventDispatch.java внутри MPSProject может инициировать следующие события:
projectReady (неблокирующее) projectDiscarded (блокирующее) asyncProjectClosed (неблокирующее) Теперь MPS использует Wayland как протокол отображения по умолчанию в поддерживаемых Linux-системах. В среде с поддержкой Wayland MPS автоматически переключается на нативный бэкенд вместо слоев совместимости X11, что соответствует современным стандартам Linux-десктопа.
Переход улучшает интеграцию с системой, обеспечивая стабильную работу в окружении Wayland, правильную поддержку ввода и drag-and-drop, а также четкую отрисовку интерфейса (особенно для HiDPI и дробного масштабирования). UX останется прежним, но из-за специфики архитектуры Wayland возможны небольшие отличия, например в расположении или оформлении окон.
В MPS 2026.1 исправлено множество ошибок. Полный список устраненных проблем приведен здесь.
В JetBrains MPS 2026.1 мы продолжили уделять особое внимание комфорту и эргономичности, чтобы рабочее пространство было таким же доступным и настраиваемым, как ваш код.
Долгожданная возможность синхронизировать тему IDE с ОС, помимо macOS и Windows. теперь доступна и на Linux. Включить ее можно в Settings | Appearance & Behavior | Appearance.
Пользователи Windows, которые работают с клавиатуры, теперь могут перевести фокус на главное меню IDE, нажав клавишу Alt. Это делает IDE удобнее для пользователей скринридеров.
Мы продолжаем вносить небольшие, но заметные улучшения, которые упрощают повседневную работу.
Теперь можно изменить любой недавний коммит прямо из окна Commit — без лишних действий с интерактивным rebase. Просто выберите нужный коммит и необходимые изменения, затем подтвердите их — IDE сделает все остальное.
Помимо Git worktree, мы улучшили работу с ветками и добавили действие Checkout & Update, которое загружает все удаленные изменения.
Кроме того, получение изменений теперь можно автоматизировать — отдельный плагин больше не нужен. Включите Fetch remote changes automatically в Settings | Git.
Команды больше не нужно помнить наизусть — находите их прямо в процессе. Автодополнение в терминале позволяет сразу видеть доступные подкоманды и параметры по мере ввода. Работаете ли вы со сложными CLI-инструментами вроде Git, Docker или kubectl или пишете свои скрипты — эта функция будет на лету предлагать подходящие варианты.
Раньше функция была доступна только в Bash и Zsh, теперь она работает и в PowerShell.
Перед каждым крупным релизом мы готовим инструкции по миграции с более старых версий MPS, чтобы все прошло гладко. Внимательно прочитайте обновленное руководство по миграции.