Nouveautés de MPS 2020.2

MPS 2020.2 inaugure un nouveau look pour le VCS, des tests pour les correctifs rapides, des améliorations des plans de génération et un éventail d'autres améliorations.

Améliorations de l'interface utilisateur pour le VCS

Améliorations de l'interface utilisateur pour le VCS

Nous avons amélioré l'apparence et l'ergonomie du système de contrôle de version. La largeur de la zone de l'éditeur n'est plus fixe, le séparateur peut désormais être déplacé dans les deux sens. La mise en évidence des changements a également été améliorée. Les infobulles des modifications sont affichées à la fois dans la zone de l'éditeur et dans la zone de séparation. De plus, nous avons remplacé les triangles et les trapèzes de la zone de séparation par des polygones lisses.

Amélioration de l'historique des nœuds et de la racine dans le VCS

Amélioration de l'historique des nœuds et de la racine dans le VCS

L'action « Show Root History » existante dans VCS n'affichait pas toujours des résultats corrects. Avec ce correctif, ce sont les modèles qui sont comparés à la place des fichiers source, ce qui fait que le résultat est toujours pertinent. De plus, il est désormais possible d'afficher l'historique de n'importe quel nœud, pas seulement des nœuds racine.

Nouveau type de changement dans VCS

Nouveau type de changement dans VCS

MPS est maintenant capable de comparer/fusionner structurellement des parties non référençables des modèles BaseLanguage. Pour toutes les instances de concepts BaseLanguage qui ne sont pas censées être des cibles de référence (par exemple, BlockStatement ou ForStatement), l'algorithme de comparaison/fusion MPS ignorera l'identifiant du nœud et comparera la structure réelle du nœud à la place. Cela empêchera les utilisateurs de MPS de lutter avec des changements structurellement identiques entraînant des erreurs de fusion.

Pour en savoir plus

Sélectionner l'élément frère suivant

Il est maintenant possible d'utiliser Maj+ les touches fléchées gauche/droite pour sélectionner plusieurs nœuds frères. Ce raccourci peut être utilisé pour les paramètres de méthode, les valeurs littérales de tableau ou les sœurs d'une instruction.

Tester les correctifs rapides dans le cas de test d'un éditeur

Le langage de test de l'éditeur a été étendu à l'aide du concept ApplyQuickFix. Utilisez-le dans la section code de votre scénario de test comme si vous testiez une intention. Vous pouvez choisir d'exécuter le correctif rapide disponible sur le nœud sélectionné ou vous pouvez choisir un correctif rapide concret à exécuter explicitement.

Correctif spécifique

Le correctif qui est disponible sur le nœud sélectionné :

Sélecteur de palette de couleurs et paramètres de la police de caractères

Sélecteur de palette de couleurs et paramètres de la police de caractères

Vous avez maintenant la possibilité de changer la palette de couleurs de l'éditeur sans changer le thème de l'IDE. De plus, le changement de thème ou de palette de couleurs dans l'IDE est instantané ! Plus besoin de redémarrer l'IDE.

Pour en savoir plus

Améliorations des plans de génération

Améliorations des plans de génération

L'action « Show Generation Plan » offre un outil pratique pour comprendre les étapes exactes impliquées dans la transformation d'un modèle. Désormais, en plus des étapes de transformation, l'action identifie également d'où vient le plan de génération (par exemple d'une facette de module personnalisé ou d'un devkit), et fournit son nom ainsi qu'un lien vers le nœud du plan de génération.

Pour en savoir plus

Améliorations du langage de build

Améliorations du langage de build

Une option vous permet maintenant d'utiliser des macros pour certaines parties de la version dans idea branding (BuildMps_Branding). Les macros ${version.major}, ${version.minor}, ${version.bugfixNr} et ${version.eap} ont été ajoutées au script de build MPS. L'ancien format de version fonctionne toujours, mais il est obsolète. Pour basculer vers la nouvelle version dans votre script de build, utilisez l'intention « Convert deprecated branding version to the new format ».

Autres améliorations

Prise en charge complète des requêtes d'extraction GitHub

Prise en charge complète des requêtes d'extraction GitHub

Les détails des requêtes pull ouvertes sont désormais accessibles en un clic dans une fenêtre d'outils verticale distincte. La fenêtre principale de l'éditeur affiche la conversation et vous pouvez ajouter des commentaires directement. Si vous êtes autorisé à gérer les requêtes pull, vous pouvez désormais les parcourir, les attribuer et les fusionner, afficher et soumettre des commentaires, et accepter des modifications directement depuis l'IDE.

Boîtes de dialogue améliorées pour les actions Git

Boîtes de dialogue améliorées pour les actions Git

Pour cette version, nous avons révisé la cohérence visuelle des boîtes de dialogue Merge, Pull et Rebase. Nous avons également amélioré les boîtes de dialogue afin qu'elles identifient clairement les commandes Git qui seront exécutées, et nous avons inclus certaines options manquantes. Nous avons également ajouté --rebase et --no-verify aux boîtes de dialogue Pull et Merge, repectivement.

Utiliser squash et déposer les commits locaux depuis le journal des événements

Utiliser squash et déposer les commits locaux depuis le journal des événements

Vous pouvez maintenant sélectionner plusieurs commits d'une branche locale pour un squash. Dans la fenêtre d'outil Git, ouvrez l'onglet Log, sélectionnez les commits locaux et choisissez Squash Commits. Si vous décidez de modifier le message de commit, toutes les modifications de ces commits seront regroupées dans un seul commit avec le message actualisé. De plus, vous pouvez désormais supprimer les commits à partir du journal Git.

Amélioration de l'affichage des résultats pour l'action Compare Branches

Lorsque vous comparez deux branches dans MPS 2020.2, l'IDE affiche leurs commits dans une même vue en ouvrant leurs journaux dans l'éditeur. Contrairement à la fenêtre d'outil VCS, cette vue comporte suffisamment d'espace pour afficher un rapport complet sur les commits de chaque branche et les fichiers affectés.

Autorisation

Nous avons remplacé l'autorisation GitHub du système de mots de passe, qui est obsolète et cessera bientôt de fonctionner, par OAuth.