Nouveautés de MPS 2019.1

Éditeur

Sponsorisé par le client

Style personnalisé et priorité des éléments de saisie automatique

Les concepteurs de langage peuvent définir le style et la priorité des éléments du menu de saisie automatique. Il est possible de changer la couleur du fond et du texte, de mettre en gras et en italique, et il est même possible de masquer des éléments. Veuillez noter que cette fonctionnalité est expérimentale et pourra évoluer à l'avenir. Plus d'informations à ce sujet.

Langage du générateur

Prise en charge de l'inférence de type automatique introduite pour la nouvelle macro VAR

La macro VAR prend désormais en charge plusieurs déclarations de variable par macro dans le langage du générateur. Le type est déduit de la requête de déclaration, sauf si elle est ignorée.

Prise en charge d'extensions

Sponsorisé par le client

Utilisez les extensions MPS résultant de la tâche ant de migration

Désormais, si un plugin est nécessaire à la migration d'un projet, cela peut être spécifié dans la tâche ant <migrate>. Le plugin correspondant est activé, ainsi que ses dépendances. Nous avons également intégré cette fonctionnalité dans la version 2018.3.5 en réponse à la demande d'assistance d'un client.

Sponsorisé par le client

L'assistance au déploiement de l'extension est intégrée dans l'instruction de script de build "run code from solution"

L'instruction "run code from solution" permet d'activer les extensions dans l'instance MPS qui va exécuter le code. Les dépendances de l'extension seront incluses. Cette fonctionnalité a également été intégrée dans la version 2018.3.5 en réponse à la demande d'assistance d'un client.

Améliorations IDE

Créez un thème d'interface utilisateur personnalisé

Apportez une touche de couleur à vos journées ! La plateforme IntelliJ vient juste d'introduire cette fonctionnalité sympa et, dans la mesure où MPS repose sur cette plateforme, vous pouvez également personnaliser les thèmes de l'interface de votre IDE.

Importez les nouveaux thèmes prédéfinis en tant qu'extensions ou créez le vôtre de A à Z avec IntelliJ IDEA. Essayez nos nouveaux thèmes Cyan Light et Dark Purple.

La configuration d'exécution JUnit accepte désormais le déploiement des extensions

Comme pour une configuration d'exécution d'instance MPS, vous pouvez désormais fournir la liste des plugins IntelliJ IDEA à déployer lors de l'exécution des tests. La tâche « before launch », «Assemble Plugins», est également disponible dans la configuration d'exécution JUnit. Elle crée automatiquement les plugins en cours de déploiement et copie les artéfacts dans le répertoire des paramètres.

Sponsorisé par le client

Tri dans le ProjectPane

Nous avons ajouté TreeNodeSortService pour gérer les contributions ChildComparatorProvider pour vous donner le plein contrôle du nœud enfant MPSTreeNode dans l'arborescence ProjectPane. Les utilisateurs peuvent désormais enregistrer/désenregistrer les fournisseurs provenant de l'application de leur extension ou de parties du projet.

Indication des commits entrants et sortants

L'IDE indique désormais su les commits entrants et sortants sont disponibles pour les différentes branches de la fenêtre contextuelle Branches. Sélectionnez simplement la nouvelle option « Mark Branches that have incoming/outgoing commits in the Branches popup » dans Preferences/Settings | Version Control | Git.

BaseLanguage

Méthodes statiques dans les interfaces baseLanguage

MPS permet désormais de créer des méthodes statiques dans les interfaces.

Divers

Adieu Confluence, bienvenue au Centre d'aide !

Depuis toujours, Confluence a hébergé la documentation MPS. Mais les temps ont changé, et il faut désormais quelque chose de différent. Nous avons fait migrer la documentation vers notre centre d'aide. Le guide utilisateur et le tutoriel accéléré y sont déjà accessibles. La documentation sera améliorée au cours des prochaines versions.

Signature des méthodes stub

Le type de retour de cette méthode a été supprimé des ID de nœuds MPS créés dans les modèles stub Java. Désormais, la méthode de signature définie par la spécification du langage Java sert à identifier les méthodes. Vous n'avez pas à enregistrer à nouveau tous les modèles référençant une méthode à partir d'un modèle stub si le type de retour a été changé dans une nouvelle version de la bibliothèque. La migration automatique enregistre à nouveau tous les modèles MPS et corrige toutes les références existantes aux méthodes de modèle stub.

Nouvelle signification pour la case à cocher 'Compile in MPS'

Si la case à cocher 'Compile in MPS' dans la section des propriétés du module n'est pas sélectionnée, cela n'implique plus qu'il faut une instance IntelliJ IDEA connectée pour compiler le code. Cette case à cocher peut être comprise comme "compiler dans MPS ou ne pas compiler du tout". .

MPS affiche les langages agrégés de façon automatique

Les aspects de structure manifestent à présent les langages qu'ils incorporent par agrégation (p. ex. en utilisant un concept étranger dans un rôle enfant). Il n'est plus nécessaire d'importer ces langages de façon explicite dans un modèle utilisant un langage agrégé qui sera utilisé automatiquement au cours de l'édition.