Novedades de MPS 2026.1

MPS utiliza ahora IntelliJ Platform 2026.1, JDK 25 y Kotlin 2.3. Build Language adquiere dependencias transitivas, las migraciones son más reproducibles y se ha realizado una actualización importante en términos de calidad en los stubs de Java. El complemento integrado Projectional Agent Toolkit permite a los agentes de codificación de IA leer y escribir modelos MPS, abriendo así una serie de conceptos de desarrollo vanguardistas para los desarrolladores de MPS y los autores de lenguajes.

Consulte la lista completa de cambios a continuación.

Projectional Agent Toolkit: los agentes de codificación de IA pueden trabajar ahora directamente con modelos MPS

MPS incluye el Projectional Agent Toolkit, un complemento que revela la proyección, el modelo y el banco de trabajo de lenguajes de MPS a los agentes de codificación de IA a través del Model Context Protocol. Agentes como Claude Code, OpenAI Codex, JetBrains Junie y cualquier otro cliente compatible con MCP pueden conectarse a una instancia MPS en ejecución y operar en ella como lo haría un desarrollador: navegando por módulos y modelos, leyendo y editando nodos a través del editor proyeccional, resolviendo referencias, inspeccionando jerarquías de conceptos, generando código y ejecutando configuraciones. Ya no tienen que tratar los archivos .mps como XML opaco.

El Projectional Agent Toolkit aporta una serie de conjuntos de herramientas que cubren toda la superficie de un proyecto MPS:

  • Proyectos, módulos y modelos: permiten a los agentes enumerar soluciones, lenguajes y devkits, abrir y crear modelos, y resolver dependencias.
  • Lenguajes y conceptos: con ellos, los agentes tienen la capacidad de inspeccionar jerarquías de conceptos, propiedades, hijos, referencias y herencia, así como de implementar conceptos de estructura a partir de un plano JSON.
  • Nodos raíz y nodos: permiten a los agentes leer, crear, actualizar, mover y eliminar nodos mediante operaciones conscientes de los nodos que respetan las restricciones conceptuales en lugar de las ediciones a nivel de texto.
  • Referencias y ámbitos: permiten a los agentes consultar destinos asignables para un enlace de referencia, de modo que el agente elija un referente válido la primera vez.
  • Configuraciones de ejecución: ofrecen a los agentes la posibilidad de listar y ejecutar las configuraciones de ejecución del proyecto para validar los cambios de extremo a extremo.

Para asegurarse de que los agentes sean productivos lo antes posible, el kit de herramientas también incluye un conjunto de habilidades: guías prácticas conscientes del modelo que se incluyen con las herramientas. Enseñan al agente cómo se organizan los lenguajes MPS, cómo implementar conceptos de estructura, cómo trabajar con el editor, cómo escribir BaseLanguage como un AST de JSON y cómo registrar memorias específicas de DSL para futuras sesiones. Las habilidades se pueden descubrir a través del mismo canal MCP, por lo que un agente recién conectado puede preguntar a MPS qué debe saber antes de empezar a editar.

La experiencia de trabajar con varios asistentes de IA en IDE basados en IntelliJ se extiende ahora de forma natural al desarrollo de lenguajes y DSL: un agente puede implementar un nuevo concepto, conectar su editor y sus restricciones, añadir métodos de comportamiento, crear código DSL, regenerarlo, y probar y ejecutar el resultado, todo ello sin salirse del modelo semántico de MPS. Para los diseñadores de lenguajes, esto transforma la asistencia de la IA de una comodidad para completar códigos en un colaborador que entiende la proyección.

El Projectional Agent Toolkit es una funcionalidad experimental y puede estar sujeta a cambios en la API en el futuro. Está integrado y activado de forma predeterminada. Solo tiene que iniciar el servidor MCP integrado y apuntar su agente compatible con MCP a la instancia de MPS; los conjuntos de herramientas y las habilidades aparecerán automáticamente.

Lea la documentación de Projectional Agent Toolkit para conocer todos los detalles.

Migración a IntelliJ Platform 2026.1, JDK 25 y Kotlin 2.3

MPS 2026.1 completa el salto a la generación actual de IntelliJ Platform. El entorno de ejecución es JDK 25, y la versión de Kotlin integrada es la 2.3.0. Además, MPS ahora compila y envía sus propios artefactos kotlinx-metadata-klib / kotlin-metadata-jvm desde el repositorio de Kotlin con la etiqueta 2.3.0 correspondiente, lo que restaura la compatibilidad con stubs de Kotlin basados en KLib que el último kotlinx-metadata-klib:0.0.6 público ya no podía proporcionar.

Posibilidad de comprobar ICheckedNamePolicy frente a lenguajes naturales específicos

MPS utiliza ahora el soporte de lenguaje natural de IntelliJ Platform, proporcionada por Grazie. Esto significa que puede comprobar si los valores de cadena en las instancias de ICheckedNamePolicy, como intenciones, acciones o herramientas, tienen un uso correcto de mayúsculas según las reglas de un lenguaje natural específico.

Ahora puede instalar en MPS el soporte de lenguaje natural para sus lenguajes preferidos, y el IDE detectará el lenguaje utilizado en las cadenas y verificará que las palabras individuales tengan un uso correcto de las mayúsculas. También puede saltarse el mecanismo de detección de lenguajes y especificar explícitamente el lenguaje deseado.

Además de las reglas de mayúsculas Title-case predeterminadas, MPS ofrece otras tres opciones:

  • Sentence-case, que sigue las reglas de IntelliJ Platform
  • Inherited, que utiliza las reglas de mayúsculas del antecesor más cercano ICheckedNamePolicy
  • No capitalization rules (Sin normas sobre mayúsculas)

Capacidad para dividir operaciones binarias en varias líneas

En el editor, ahora puede dividir líneas largas con operaciones binarias. Una acción de intención específica le permite alternar entre los diseños de una línea y de varias líneas para una BinaryOperation determinada.

Nuevo estilo de editor booleano: read-only-inspector

El nuevo estilo del read-only-inspector aplica la propiedad de solo lectura a todas las celdas del editor en el inspector. Cuando se aplica este estilo a una celda del editor principal, el inspector pasa a ser de solo lectura para el nodo inspeccionado cuando se selecciona la celda con este estilo. El nuevo estilo tiene las siguientes propiedades:

  • Está desactivado de forma predeterminada.
  • El estilo es heredable y anulable, al igual que el estilo read-only.
  • No ejerce ningún efecto en las celdas del editor principal.
  • El estilo read-only establecido por este mecanismo puede anularse en cualquier celda situada más abajo en el árbol de celdas del editor del inspector.

Dependencias transitivas en Build Language

Build Language ya no requiere que cada script de compilación accesible de forma transitiva esté listado en dependencies. Esto significa que un script de compilación, BuildA, que depende de BuildB ahora puede llegar a BuildC a través de BuildB (siempre que BuildB dependa de BuildC) sin tener que listar BuildC de forma explícita. El generador emite propiedades Ant de tipo ${artifacts.BuildC} para estos casos, y estas propiedades pueden suministrarse desde la herramienta de compilación externa (Gradle, Maven, etc.).

Esto le permite dividir compilaciones grandes en otras más pequeñas sin obligar a cada usuario a actualizar las listas de dependencias. Por ejemplo, un único script de compilación platform puede agrupar un conjunto creciente de bibliotecas externas utilizadas en los subproyectos.

Migraciones más fiables gracias a las dependencias registradas

Anteriormente, el código de migración decidía qué migraciones aplicar en función de las dependencias reales de los módulos y los lenguajes utilizados recopilados en el momento de la migración, pero leía las versiones a partir de la instantánea de dependencias registrada en el descriptor del módulo. Ese desajuste podía hacer que las migraciones utilizaran una visión diferente de aquella con la que se modificó el módulo por última vez.

En la versión 2026.1, la maquinaria de migración utiliza sistemáticamente las dependencias y los lenguajes utilizados registrados en el descriptor del módulo en el momento de la última modificación, y no el estado observable actualmente. El comprobador de migraciones se ha reformulado en consecuencia. Ahora reutiliza la información ya recopilada para el proceso de migración en lugar de volver a calcularla cuando se le solicita.

Stubs de Java mejorados

Se ha corregido una serie de errores de los stubs de Java que se producían desde hace tiempo, lo que ha mejorado visiblemente la precisión de los stubs de BaseLanguage producidos para los archivos .jar importados y las raíces de modelo de Java Sources:

  • MPS-33174 (abierto desde 2021): las clases con atributos InnerClasses se transforman ahora correctamente en stubs de BaseLanguage. La información de clases internas y los tipos de propietario parametrizados de la firma se conservan, por lo que los campos y los métodos de las clases internas de las clases externas genéricas muestran ahora el tipo adecuado en lugar de plegarse a la clase externa.
  • MPS-39375: para las variables de tipo en métodos genéricos de clases internas, los métodos que hacen referencia a variables de tipo de la clase externa ya no muestran java.lang.Object en lugar de la variable de tipo real.
  • MPS-39007: el error falso Java imports annotation is present ya no aparece en cada raíz de un modelo stub de código fuente Java.
  • MPS-39565: las raíces de stub de código fuente Java ya no desaparecen cuando se realizan cambios en las propiedades del módulo que las contiene, por lo que las referencias del código del proyecto hacia esas raíces permanecen intactas cuando se modifican las propiedades del módulo.

Ciclo de vida del proyecto modernizado

Dado que MPSProject ha pasado de ser un ProjectComponent heredado de IntelliJ IDEA a ser un servicio de proyectos, las funcionalidades compatibles con MPS necesitan una forma fiable de recibir notificaciones cuando MPSProject pase a estar disponible o deje de estarlo.

Esta versión introduce un mecanismo específico para gestionar las actividades de inicio y parada de MPSProject, lo que otorga a MPS el control sobre la secuenciación, agrupación, ordenación y generación de hilos de dichas actividades. Esto es algo que los ProjectActivity y MPSProjectActivity de la plataforma no podían ofrecer.

Cómo funciona: los implementadores se registran en el punto de extensión jetbrains.mps.project.lifecycleListener (declarado en MPSCore.xml) a través de un ProjectLifecycleListener.Bean con una listenerClass y una priority entera opcional. El LifecycleEventDispatch.java dentro de MPSProject puede devolver:

  • projectReady (no bloqueante)
  • projectDiscarded (bloqueante)
  • asyncProjectClosed (no bloqueante)

Wayland predeterminado

MPS ofrece ahora Wayland como protocolo de visualización predeterminado en los sistemas Linux compatibles. Cuando se ejecuta en un entorno compatible con Wayland, MPS cambia automáticamente a un backend nativo de Wayland en lugar de depender de capas de compatibilidad X11, con lo que se ajusta a los estándares de escritorio Linux modernos.

Esta transición mejora la integración general con el sistema, y proporciona así una mayor estabilidad en todos los compositores de Wayland, un soporte adecuado para los métodos de entrada y arrastrar y soltar, y un renderizado más consistente, especialmente en configuraciones de HiDPI y de escalado fraccional. Aunque la experiencia del usuario sigue siendo en gran medida familiar, algunas diferencias (como el posicionamiento de las ventanas o las decoraciones) pueden ser perceptibles debido a la arquitectura de Wayland.

Gran cantidad de correcciones de errores

MPS 2026.1 incluye una amplia gama de correcciones de errores. Puede consultar la lista completa de problemas resueltos aquí.

Actualizaciones de la plataforma

Actualizaciones de la interfaz de usuario

Con JetBrains MPS 2026.1, hemos seguido priorizando la máxima comodidad y una interfaz de usuario ergonómica, garantizando que su espacio de trabajo sea tan accesible y personalizable como su código.

La tan esperada capacidad de sincronizar el tema del IDE con el sistema operativo ya está disponible para los usuarios de Linux, lo que supone la paridad con macOS y Windows. Puede habilitarla en Settings | Appearance & Behavior | Appearance.

Los usuarios de Windows que dependen del teclado pueden ahora traer al primer plano el menú principal del IDE pulsando la tecla Alt. Este cambio mejora la accesibilidad para los usuarios de lectores de pantalla.

Actualizaciones del control de versiones

Seguimos realizando mejoras pequeñas pero significativas que reducen la fricción y apoyan su flujo de trabajo diario.

Ahora puede modificar cualquier confirmación reciente directamente desde la ventana de herramientas Commit, sin más trabajo innecesario que implique hacer rebases interactivos. Solo tiene que seleccionar la confirmación de destino y los cambios necesarios, y luego confirmarlos; el IDE se encargará del resto.

Además de los árboles de trabajo Git, hemos mejorado los flujos de trabajo de las ramas introduciendo la acción Checkout & Update, que incorpora todos los cambios remotos.

Además, ahora se puede automatizar la obtención de cambios, sin necesidad de un complemento aparte. Active Fetch remote changes automatically en Settings | Git.

Actualizaciones del terminal

  • Deje de memorizar comandos. Comience a descubrirlos. La finalización en el terminal le ayuda a explorar instantáneamente los subcomandos y parámetros disponibles a medida que escribe. Tanto si trabaja con herramientas de CLI complejas como Git, Docker o kubectl, como si utiliza scripts personalizados, esta funcionalidad le sugiere opciones válidas de manera inteligente y en tiempo real.

    Previamente introducida para los shells Bash y Zsh, ahora también está disponible en PowerShell.

  • Hemos corregido el comportamiento de Esc: ahora lo gestiona el shell en lugar de cambiar el enfoque al editor, por lo que ya no rompe el flujo de trabajo del agente de IA. Además, Mayús+Intro ahora inserta una nueva línea, lo que facilita la escritura directa de peticiones y comandos de varias líneas. Este comportamiento puede desactivarse en Settings | Advanced Settings | Terminal.

Guía de migración

Para cada versión principal, preparamos instrucciones sobre cómo migrar desde versiones anteriores de MPS para asegurarnos de que todo se realiza sin problemas. Puede consultarlas con mayor detalle en la guía de migración actualizada.