MPS 2018.2: tests de générateur, plug-in GitHub, aspect VCS, notifications de migration, etc.

Récemment, une nouvelle version de MPS 2018.2 a été publiée avec de nombreux changements attendus depuis longtemps . En bref, dans cette version, vous trouverez des améliorations dans la migration, des plans de nouvelle génération, un plugin GitHub et plus encore. Les détails sont ci-dessous.

image

Notifications de migration

Nous avons mis en place des notifications de migration afin de mieux vous informer de ce qui se passe: vous recevrez désormais une notification si le projet dépend d'une langue qui pour une raison quelconque ne peut pas être téléchargée, ou si la migration est retardée.

image

Un nouvel aspect de VCS

Nous avons ajouté un nouvel aspect du langage VCS. Maintenant, au lieu de créer des annotations à la déclaration de concept, un aspect du langage est créé. Un aspect est généré pour un code d'exécution particulier. L'aspect VCS remplace l'annotation MergeHints; la migration est fournie.

Avant:

image

Maintenant:

image

Plugin Github

Implémentation du plugin GitHub. Vous pouvez maintenant vous connecter à GitHub comme suit: VCS → Checkout from Version Control → Git → Connectez-vous à GitHub ...

image

Tests de générateur

En plus de la famille existante de tests pour les nœuds et l'éditeur, nous avons implémenté une nouvelle méthode pour tester les générateurs. Le défi consiste à confirmer que le générateur ou l'ensemble de générateurs font vraiment leur travail. L'IDE prend en charge les modes d'exécution à l'intérieur et à l'extérieur du processus, ainsi que l'exécution à partir des scripts de génération MPS Ant.

image

Branches dans les plans de génération

Le plan de génération a un nouvel opérateur: fourche avec. Il branche la séquence de transformations en un point donné. Le modèle est transféré vers le plan spécifié dans l'état dans lequel il se trouvait à l'étape de branchement, puis la conversion est effectuée comme d'habitude. Dans l'exemple ci-dessus, le modèle d'entrée est d'abord transformé par le générateur crossmodel.entity et l'état est enregistré, puis en utilisant le générateur crossmodel.property # prop2class, le résultat est le modèle n ° 1. Le générateur crossmodel.property # prop2xml convertit ensuite le modèle enregistré en modèle de sortie n ° 2. Veuillez noter que le mot «alors» ici ne signifie pas un engagement - il n'y a aucune garantie que les branches seront traitées dans un ordre particulier, sauf que la branche «principale» du plan d'origine produira le «premier et unique» modèle de sortie, accessible via ancienne API (GenerationStatus # getOutputModel) pour la compatibilité / migration.

image

Branches dans les tests de génération

Les tests de générateur prennent en charge les plans de génération avec l'opérateur de fourche et comparent tous les modèles de sortie avec ceux fournis par la source.

image

Ces fonctionnalités et d'autres de MPS 2018.2 sont décrites plus en détail sur la page Quoi de neuf , vous pouvez télécharger la nouvelle version ici .

Nous essayons d'améliorer le MPS tous les jours et vos commentaires nous aident beaucoup. Nous attendons toujours vos commentaires ici ou dans le tracker .

Votre équipe JetBrains MPS
La volonté de se développer

Source: https://habr.com/ru/post/fr420799/


All Articles