Einführung von MPS 2020.3

Seit einigen Monaten arbeiten wir daran, MPS noch benutzerfreundlicher zu gestalten und die Probleme zu beheben, die Sie uns gemeldet haben. Sie können den neuen MPS 2020.3 auf unserer Website oder mit der Toolbox-Anwendung herunterladen .







Bild







Neues Generatormakro



$CALL-SITE$. , SWITCH/CALL, . SWITCH/CALL . , template/switch «call site node», , template/switch , .







reduce_Comment, « » reduce_MethodDeclaration:













, , call site node $CALL-SITE$ :













reduce_Expressions, ( ) ( , ). $CALL-SITE$ - , call site node:













Die Vorlagen- und Optionsfelddeklarationen haben ein Flag, das speziell umgeschaltet ist, um anzuzeigen, dass der Anrufstellenknoten verwendet werden soll. Es wäre ein Fehler, das Makro $ CALL-SITE $ in einer Vorlage / einem Schalter zu verwenden, die nicht darauf hinweist, dass $ CALL-SITE $ abgerufen werden muss. Es ist nicht erforderlich, dem CALL / SWITCH ein explizites Argument zu liefern. Der MPS-Generator kann bestimmen, ob die aufgerufene Vorlage / der aufgerufene Switch eine Aufrufstelle benötigt, und die Vorlage einschließlich der Makros CALL / SWITCH vor der Verarbeitung auswerten.







Diese Funktionalität ist in Szenarien wie dem bedingten Casting wie in Ausdrücken nützlich <strong>IF</strong> needCast (<strong>Type</strong>), ELSE







oder in Transformationen, wenn es mehrere Ausdrucksquellen gibt, die beispielsweise als Eingabedaten dienen können switch { <strong>case</strong> <strong>Double</strong> : <strong>Double</strong>.valueOf(expression); <strong>case</strong> <strong>Integer</strong> : <strong>Integer</strong>.valueOf(expression, 16); …}



. Es ist daher unpraktisch, für jeden Fall einen eigenen Schalter / eine eigene Vorlage zu haben.



. Highlight Usages (Ctrl/Cmd+Shift+F7). , . , , . - Highlight Usages, , . .







MPS ( Highlight selected node).













switch- BaseLanguage



, switch case .













Project



Project , -. . Logical View.















- . , , , . Tests , — Java. , Java Language , -. , .







VCS



, . . .







Annotate cells:







:













Annotation, MPS , :













Diff



. : . . , :













, Diff :







. , Hide Unordered Moves.









MPS -. , MPS . Projects — , . Customization , , .















VCS



VCS , . Git, VCS :













, . Git — .







Commit and Push



— Commit Commit and Push… — Commit. , , Commit and Push.









. MPS , , .









. , . , . .







, . - .







!







MPS

The Drive to Develop








All Articles