MPS 2020.3 incluye una nueva macro de generador, resaltado de utilizaciones dinámicas, un nuevo aspecto de la pantalla de bienvenida y muchas otras nuevas funcionalidades que probar
Hay una nueva macro llamada $CALL-SITE$
que facilita la inserción de un nodo atribuido con una macro SWITCH/CALL
en un lugar designado en la plantilla invocada. Antes del cambio, el nodo de plantilla con una macro SWITCH/CALL
adjuntada se solía ignorar. Ahora, si una plantilla o un switch invocado intenta utilizar un 'call site node', el nodo se procesa como plantilla regular y el resultado se suministra a la plantilla o switch invocado como argumento implícito que puede insertarse en la ubicación deseada.
Dynamic highlighting, a long-awaited feature, has arrived. Esta funcionalidad es muy similar a la acción existente Highlight Usages (Ctrl/Cmd+Mayús+F7). La diferencia es que el resaltado dinámico funciona de forma automática a medida que escribe o navega por el código. Las referencias al nodo debajo del cursor se resaltan en el documento editado casi de manera inmediata. Sigue pudiendo usar la acción original Highlight Usages para «anclar» las utilizaciones del nodo seleccionado en el momento mientras se aleja de él. Cuando lo hace, el resaltado dinámico seguirá resaltando el nodo debajo del cursor.
Esta funcionalidad se puede activar o desactivar en la configuración del editor de MPS con la casilla de verificación Highlight selected node.
Además de algunas mejoras en el editor, el concepto switch ahora admite la utilización de varios casos para la misma declaración.
Presentamos una nueva manera de mostrar errores, advertencias y mensajes en el panel Project. La tira de errores ayuda a organizar los mensajes en el panel Project. Puede desactivarlo a través del botón de configuración Logical View.
MPS ya no le obliga a utilizar una faceta de módulo específica con un módulo concreto. Las facetas asociadas con un módulo se registran dentro del archivo descriptor del módulo, que ahora es la fuente definitiva de información. Ya habíamos hecho la faceta Tests totalmente opcional en las versiones anteriores, y ahora la última, Java, dejará de aplicarse. No obstante, tenga en cuenta que desmarcar la faceta de módulo de Java en las propiedades de módulo Language excluirán el lenguaje del mecanismo de carga de clases y mostrará una experiencia completamente diferente. Hemos implementado este cambio para facilitar la compatibilidad discreta con lenguajes de destino que no sean Java.
El antiguo algoritmo de anotación raíz utilizaba los resultados de la anotación obtenidos del archivo de texto modelo. Funcionaba únicamente para los modelos con persistencia de texto y, en la mayoría de los casos, no era siempre correcto. Con el nuevo enfoque, la anotación se construye comparando los modelos de diferentes revisiones.
El algoritmo previo para calcular los cambios entre los dos modelos no podía detectar determinados tipos de cambios. El movimiento de nodo se detectaba como dos cambios independientes: inserción y eliminación. Ahora es posible mostrar el movimiento de nodo como un solo movimiento. Además, también es posible detectar los cambios internos dentro del interior de la pieza.
Hemos actualizado el aspecto de la pantalla de bienvenida. Ahora incluye no solo la selección de proyectos, sino distintos cuadros de diálogo para ayudarle a personalizar su IDE según sus necesidades. En primer lugar, la página Projects tiene más espacio y muestra más proyectos. También es más sencillo buscar el proyecto deseado desde el campo de búsqueda. La página Customization le guía a través de la configuración principal de la interfaz, como el tema de colores, la fuente del IDE, las acciones de importación y las preferencias de uso compartido.
Se ha cambiado el nombre al menú del VCS para que coincida con el sistema de control de versiones que esté utilizando en ese momento. Hemos hecho el menú más limpio y claro, manteniendo las acciones más útiles para el control de versiones de su proyecto. Ahora puede acceder fácilmente a funcionalidades Git claves que ya no están ocultas en un submenú. Por ejemplo, si su proyecto solo utiliza Git, el menú del VCS ahora tendrá este aspecto:
Ahora los dos botones más populares (Commit y Commit and Push…) se muestran explícitamente en la pantalla Commit. Puede enviar los cambios al repositorio remoto inmediatamente después de la confirmación; ya no tiene que desplazarse por una lista desplegable hasta llegar al botón Commit and Push.
Esta versión incluye varias mejoras para las ramas. Ahora el IDE corrige automáticamente los símbolos no aceptados en los nombres de las ramas nuevas y puede ver todas las acciones relacionadas con la rama actual.
Tener varias pestañas abiertas siempre resulta útil cuando se trabaja en un proyecto grande. Con MPS 2020.3, puede dividir la pantalla del editor principal horizontal o verticalmente arrastrando y soltando una pestaña a la posición deseada. Cuando arrastre una pestaña, el editor destacará posibles ubicaciones donde soltarla. El IDE muestra las pestañas ancladas al comienzo de la barra de pestañas.