MPS 2021.1 incorpora compatibilidad con Java Annotation, gran cantidad de mejoras en VCS, Apple Silicon y mucho más.
El tamaño de fuente se puede ajustar rápidamente en una ventana abierta del editor con solo pulsar control y girar la rueda del ratón. Los cambios en el tamaño de fuente no son permanentes, así que cuando vuelva a abrir el archivo, el tamaño del texto volverá al valor predeterminado. Puede habilitar/deshabilitar esta funcionalidad en Preferences | Editor | General, en el apartado Change font size with Ctrl/Cmd+Mouse Wheel.
La implementación del diseño de sangría ahora es incremental en algunos casos esenciales, lo cual reducirá el tiempo de renderización para grandes modelos en lenguajes que utilizan principalmente el diseño de sangría (como BaseLanguage). Esta funcionalidad se puede deshabilitar con la opción de VM mps.indent_layout.disable_incremental.
Elegir una fuente para el editor que se pueda leer sin dificultad durante largos periodos de tiempo resulta fundamental. La configuración de tipografía añadida recientemente facilita un poco esta elección y la hace más personalizada. En v2021.1, puede ajustar el espesor de los estilos de fuente principal y negrita en Preferences | Editor | Fonts.
La compatibilidad con el sistema de control de versiones añade mejoras en la anotación de raíz. Ahora se utiliza un algoritmo nuevo para calcular los cambios en las revisiones con seguimiento de movimientos para la anotación de raíz. Los colores para líneas/celdas anotadas se determinan solo a partir de las revisiones en las que se ha modificado la raíz. Las celdas anotadas ahora cuentan con el grupo de menú contextual especial cuando la columna de anotación está abierta. Puede aplicar Copy Revision Number, Show Diff y otras acciones a cada celda anotada.
El diálogo de diferencias está habilitado para confirmaciones combinadas en el registro Git. El visor muestra tres paneles: el panel central para el modelo combinado, y los paneles izquierdo y derecho para los modelos de las dos ramas combinadas.
Ahora ya puede desconectar la sincronización de desplazamiento del editor en el diálogo de diferencias con solo pulsar un botón.
Los algoritmos de anotación raíz e historial de nodo/raíz se basaban anteriormente en la lista ordenada de revisiones de archivo, calculando los cambios en la raíz entre dos revisiones adyacentes. Sin embargo, estas revisiones podían ser de dos ramas distintas, en cuyo caso los cambios obtenidos no tenían sentido. Las revisiones de combinaciones tampoco se gestionaban correctamente. Los cambios procedentes de revisiones más antiguas se podían mostrar erróneamente como cambios de una revisión de combinación más reciente. Ahora el algoritmo tiene en cuenta el gráfico de revisiones al formular el historial de cambios.
Nuestra nueva acción Save to Shelf le permite copiar sus cambios al Shelf al tiempo que los mantiene en los cambios locales. Puede acceder a esta acción pulsando ⇧⌘A en macOS (Ctrl+Mayús+A en Windows o Linux) y escribiendo «Save to Shelf».
Ahora se puede hacer referencia al nodo de entrada de una macro LOOP utilizando una expresión LOOP.inputNode, para que ya no sea necesario utilizar una macro VAR. También se puede acceder al índice de la LOOP con el mismo espacio de nombres utilizando LOOP.index y sustituyendo la variable de contexto anterior definida por el usuario.
Para mejorar al extensibilidad de plan de generación, existe un mecanismo nuevo para incluir lenguajes o generadores desconocidos para el diseñador del plan. Ahora, con la instrucción transform, el diseñador del lenguaje puede incluir un lenguaje destinado a otro existente o que lo extienda. Cuando decimos que el Lenguaje B "tiene como objetivo" el Lenguaje A, queremos decir que el generador del Lenguaje B crea construcciones del Lenguaje A.
Con MPS 2021.1, las plantillas compiladas ahora comprueban si las secundarias están correctamente situadas en nodos principales si la opción está habilitada.
Han cambiado muchas cosas en nuestro enfoque de la compilación Java de los módulos MPS. Esto trata una de nuestras incidencias más votadas, la asistencia para el procesamiento de anotaciones. Cambiamos de infraestructura de MPS Java Compiler para utilizar el conjunto de API javax.tools.JavaCompiler, de modo que MPS ahora puede utilizar cualquier compilador que implemente esta API estándar. En la versión 2021.1, MPS se ejecuta con el compilador predeterminado configurado para esta API, con la opción de utilizar el Eclipse Compiler para Java (ECJ).
Cuando se crea un nuevo proyecto, ahora se guarda una versión MPS "base". Las migraciones de proyectos para versiones de MPS anteriores a la versión de base de proyecto no son aplicables. Esto ofrece a los autores la flexibilidad de otorgar a las migraciones de proyectos la versión "base" especificada que deseen, que pueden modificar en la interfaz de migración del proyecto utilizando el nuevo método 'getBaselineVersion():int'.
El diálogo de refactorización Method Signature ahora incluye un modo de especificar valores predeterminados para nuevos argumentos o argumentos cuyos tipos han cambiado. Cuando se elimina un parámetro pero se sigue utilizando en el método, se introduce una nueva variable local para que la referencia no se pierda. Si la llamada a un método no coincide con su firma, una acción de intención le permite cambiar la firma del método para adaptarla a la llamada.
El lenguaje lang.text ahora cuenta con varias nuevas capacidades, lo cual mejora directamente los comentarios de una y varias líneas en BaseLanguage.
Las expresiones model.roots(), model.rootsIncludingImported() y model.nodesIncludingImported() ahora admiten #expression para especificar conceptos como lo hace model.nodes().
Los complementos informan a MPS de los módulos a los que contribuyen utilizando un punto de extensión com.intellij.mps.LanguageLibrary
. Los puntos de extensión ahora pueden ofrecer un atributo hide="true"
opcional, lo que hace que los módulos del complemento sean elegibles para su filtrado mediante un patrón especificado con com.intellij.mps.VisibleModuleMask
.
La nueva vista previa del navegador integrada le permite previsualizar los archivos HTML rápidamente. Para abrirla, haga clic en el icono con el logotipo de MPS en el widget de la esquina superior derecha del editor. Si realiza algún cambio en el código HTML o si cambia los archivos CSS y JavaScript enlazados, la vista previa se actualizará sobre la marcha.
Ahora puede utilizar MPS en Macs con chip M1. Para comenzar, descargue el instalador de MPS de JetBrains para Apple Silicon directamente en nuestra página web u obténgalo en nuestra aplicación JetBrains Toolbox App.
Con MPS 2021.1, el diálogo Import Settings que aparece cada vez que instala una nueva versión de MPS solo se mostrará cuando no tenga los ajustes y configuraciones adecuados.
En esta versión, hemos añadido más etiquetas para los elementos de la interfaz de usuario en la pantalla de bienvenida, en la vista Project Structure y en el registro de VCS. Estos elementos, además de los iconos del medianil, ahora se leen correctamente cuando se habilita un lector de pantalla. También estamos trabajando para mejorar la accesibilidad para los usuarios de macOS.