Durante varios meses hemos estado trabajando para hacer que MPS sea aún más fácil de usar y solucionar los problemas que nos informó. Puede descargar el nuevo MPS 2020.3 en nuestro sitio web o utilizando la aplicación Toolbox .

Nueva macro de generador
$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:

Las declaraciones de plantilla y botón de opción tienen un indicador que se activa específicamente para indicar que se debe utilizar el nodo del sitio de llamada. Sería un error usar la macro $ CALL-SITE $ dentro de una plantilla / conmutador que no indica la necesidad de obtener $ CALL-SITE $. No es necesario proporcionar un argumento CALL / SWITCH explícito: el generador de MPS puede determinar si la plantilla / switch que se llama necesita un sitio de llamada y evalúa la plantilla, incluidas las macros, CALL / SWITCH antes del procesamiento.
Esta funcionalidad es útil en escenarios como la conversión condicional, como en expresiones <strong>IF</strong> needCast (<strong>Type</strong>), ELSE
, o en transformaciones, cuando hay varias fuentes de expresión que pueden servir como datos de entrada, por ejemplo
switch { <strong>case</strong> <strong>Double</strong> : <strong>Double</strong>.valueOf(expression); <strong>case</strong> <strong>Integer</strong> : <strong>Integer</strong>.valueOf(expression, 16); …}
. Por lo tanto, no es práctico tener un conmutador / plantilla dedicado para cada caso.
. 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