¡MPS 2020.1 añade mejoras al editor, el lenguaje de patrones Light, Javadocs para modelos de stub, mejoras en BaseLanguage y muchas más nuevas capacidades!
Al editar nodos con cardinalidad (0,n) o (1,n), tenía la posibilidad de proporcionar un separador personalizado entre valores implementando una función de consulta de separador. Esta funcionalidad amplía la posibilidad de pasar más argumentos a la función de consulta (en concreto, prevNode y nextNode), lo que permite proporcionar un separador personalizado para cada par de valores. En la siguiente captura de pantalla, “and” y “,” son los separadores.
El lenguaje de patrón ayuda a definir los patrones de estructura y a ajustar sus nodos. Emplea editores de conceptos regulares que hacen que el patrón tenga un aspecto similar a los nodos que acepta. Pero para algunos editores complejos que no se corresponden exactamente con la estructura de concepto, puede ser más práctico utilizar patrones light (constructores de patrones) que describen la estructura requerida literalmente.
The editor extension of the Tooltips from mbeddr platform has been added to MPS. También se proporcionará una migración para el lenguaje mbeddr.
Esta es una mejora que simplifica los menús Transformation y Substitution eliminando los conceptos predefinidos para los menús del editor con nombre (SubstituteMenu_Named) y predefinido (SubstituteMenu_Default). Los dos conceptos se han combinado en su primario (SubstituteMenu). El tipo de menú ahora se selecciona en el editor de menú. La misma refactorización se ha aplicado a los menús Transformation.
Si el código en el aspecto editor de un lenguaje arroja una excepción, se muestra el editor predeterminado para una celda correspondiente en un modelo escrito en el lenguaje. A partir de la versión 2020.1, si se abre en el editor este tipo de celda rota, se muestra un error en la ventana de herramientas Messages. Es posible obtener la traza de pila a partir del error y acceder a la celda problemática.
Escribir sobre texto existente es una nueva funcionalidad que hace que el editor de proyección parezca un poco más un editor de texto. Al escribir en una celda de texto, si el carácter que acaba de escribir ya estaba presente en la posición del cursor, el cursor se desplazará por encima como si sobrescribiera el carácter existente. Esta funcionalidad solo se activa si la pulsación de tecla no se puede procesar fácilmente y de lo contrario se ignoraría (p. ej., en celdas constantes) o si invalidaría el contenido de la celda.
Esta funcionalidad está activada de forma predeterminada y puede desactivarla en Settings / Editor / General
.
Ahora el generador detecta las extensiones del editor para otros lenguajes y genera un código que manifiesta la dependencia explícitamente. Esto significa que los diseñadores de lenguajes no tienen que preocuparse sobre este tipo concreto de dependencia entre lenguajes. Ya no se necesita una dependencia «extends» entre los módulos de lenguaje para activar las extensiones del editor.
Hay un nuevo mecanismo para especificar un archivo zip que contenga las fuentes de una biblioteca junto con el jar de la biblioteca. Ahora MPS es capaz de extraer el javadoc de las fuentes para presentarlo junto con información extraída de los archivos de clase.
La funcionalidad de SingleLineComment se ha mejorado ligeramente y se ha introducido el nuevo concepto MultiLineComment en BaseLanguage para permitir los comentarios delimitados por los símbolos /* … */
del mismo modo que en Java.
BaseLanguage ahora incluye try with resources, la detección de varias excepciones, la inferencia de tipo para las variables locales, y los métodos de interfaz predeterminado y privado. Para proporcionar compatibilidad con los procesos de build que requieren un nivel de lenguajes Java específico, cada solución puede configurarse para prohibir las funcionalidades de lenguaje que no son compatibles con ese nivel. Excepto por la funcionalidad local variable type inference, que requiere j.m.baseLanguage.varVariable
, estas funcionalidades no requieren más importaciones de lenguaje.
Para mejorar el flujo de las confirmaciones, hemos desarrollado una nueva ventana de herramientas Commit para gestionar todas las tareas relacionadas con las confirmaciones. Proporciona más espacio para la lista de archivos modificados y el diff, y le permite añadir cambios a una confirmación cuando están listos, crear un mensaje de confirmación de iteración, y elegir qué cambios provisionales se envían a qué confirmación.
No está activada de forma predeterminada, por lo que si desea probarla, seleccione “Use non-modal commit interface” en Preferences/Settings | Version Control | Commit
.
Este nuevo modo le ayuda a centrarse en su código gracias a la combinación del modo en pantalla completa y el modo sin distracciones. Para probar el modo Zen, vaya a View | Appearance | Enter Zen Mode
.
Ya no necesita preinstalar Git manualmente. Cuando clona un repositorio de Git existente, el IDE buscará el Git ejecutable en su máquina y se ofrecerá a descargarlo y configurarlo por usted si el IDE no puede localizarlo.
Tenga en cuenta que en MPS 2020.1, la ruta de acceso a los archivos de configuración se ha modificado.
MPS ahora utiliza la nueva fuente JetBrains Mono (Preferences / Settings | Editor | Font
) de manera predeterminada. Consulte todos los detalles sobre nuestro tipo de letra más cómoda para los desarrolladores en nuestro sitio web.
JetBrains Plugin Marketplace is now available in MPS. Esto abre una nueva serie de oportunidades, ya que le permite comercializar sus complementos.