Improved access to $LOOP$ macro variables
It is now possible to refer to the input node of a LOOP macro using LOOP.inputNode expression, removing the need to use a VAR macro. The index of the LOOP can also be accessed under the same namespace, using LOOP.index , replacing the previous user defined context variable.
Version Control: "Synchronize scrolling" button in the Diff editor
It is now possible to switch off the scrolling synchronization of the editors in the Diff dialog using the dedicated button.
Version Control: MPS model viewer in diff dialog of merge commit.
The MPS model viewer is enabled for the merge commits in git log. The viewer shows three panels - the center panel for the merged model and left and right panels for the models of two merged branches.
Version Control: Use revisions graph for root annotation and root/node history.
The root annotation and root/node history algorithm was based on the iteration over the ordered list of file revisions. The changes for the root were calculated between two adjacent revisions. It could happen that these revisions were from two different branches. In this case the obtained changes make no sense. Merge revisions were not handled correctly as well. The changes from the older revisions could be erroneously displayed as changes from the newer merge revision. Therefore, the revisions graph should be considered for calculating the correct history of the changes rather than a simple list.
New options in the BaseLanguage comments
The lang.text language has been enhanced with several new capabilities, which directly enhances the single and multi-line comments in BaseLanguage.
- Text selection is able to select only parts of lines when selecting up and down.
- Actions such as Make bold/italics/underline work on selection.
- Copy/paste from and into plain text has been implemented.
- Bullet and numbered lists are now supported.
Method signature refactoring improvements
The method signature refactoring dialog now includes a way to specify default values for new arguments or arguments whose type has changed. When a parameter is removed but is still used in the method, a new local variable is introduced so the reference is not lost. In addition, vararg typed parameters are now handled.
When the call of a method does not match its signature, an intention allows to change the method signature according to the call. This intention has been improved to map the existing parameters in a smart way, so a maximum amount of existing parameters are reused and their references kept.