数か月間、MPSをさらに使いやすくし、ご報告いただいた問題の修正に取り組んできました。新しいMPS2020.3は、当社のWebサイトまたはツールボックスアプリケーションを使用してダウンロードできます。

新しいジェネレータマクロ
$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:

テンプレートとラジオボタンの宣言には、コールサイトノードを使用する必要があることを示すために特別に切り替えられるフラグがあります。$ CALL-SITE $を取得する必要性を示さないテンプレート/スイッチ内で$ CALL-SITE $マクロを使用するとエラーになります。明示的なCALL / SWITCH引数を指定する必要はありません。MPSジェネレーターは、呼び出されるテンプレート/スイッチに呼び出しサイトが必要かどうかを判断し、処理前にマクロ、CALL / SWITCHを含むテンプレートを評価できます。
この機能は、式などの条件付きキャストなどのシナリオで役立ちます <strong>IF</strong> needCast (<strong>Type</strong>), ELSE
、または変換では、たとえば、入力データとして機能できる式のソースが複数ある場合
switch { <strong>case</strong> <strong>Double</strong> : <strong>Double</strong>.valueOf(expression); <strong>case</strong> <strong>Integer</strong> : <strong>Integer</strong>.valueOf(expression, 16); …}
。したがって、すべての場合に専用のスイッチ/テンプレートを用意することは実用的ではありません。
. 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