Split Editors - Duplicating the editor
Hi,
When we try to split the editor vertically, it's duplicating the editor and showing as two editors of the same name.
Is this intended behaviour of the splitAction?
We are trying to update some nodes(datatypes) in the duplicate editor - it's not auto-updating the original editor and its references.
The data-type in the original editor is updated only if it opened and then the typesystem error is thrown.
Actually I don't know the difference between those two editors.
Is there any chance of auto-updating it in all duplicate editors?
Can anyone help me regarding this issue.
Best Regards,
Narendran
Please sign in to leave a comment.
Hi!
Yes, opening same root in new splitted editor is default behaviour. To split editors with moving (instead of copying) root to right/down splitted panel, use Move Right or Move Down items from context menu called on tab header (they are under Split Vertically / Split Horizontally items).
You can find more info about splitting editor here: https://www.jetbrains.com/help/mps/splitting-and-unsplitting-editor-window.html
Editors should be synchronized as soon as currently focused editor changed to valid nodes tree.
As result of being projectional editor, changing type in your example is not finished, because there is no intstring type, which can be resolved. But when you type valid one (int for example), it will be resolved and editor will update nodes tree, what as result update second editor presentation.
Hello Narendran,
Yes, that's the intended behaviour. If you want to do something funny, continue open an editor and start splitting both vertically and horizontally the editors that show up... You'll end with a nice mosaic of editors :-)
On the fact that they don't auto-update, and using your image as "proof": I imagine you splitted the editor, wrote "int" before "string" in the right editor and changed focus to the left editor. They're not showing up the same result because you changed nothing on the right editor: while your input is in red foreground and light red background, MPS is waiting for a valid change to, then, change the AST. If you really changed "string" for "int", you'd see all duplicated editors being updated immediately as they all are looking to the same AST (that's the beauty of a projectional editor).
Try it out: put the cursor after "int" and hit Ctrl-space (if Windows) or simply delete "string".
Regards,
Sérgio Ribeiro
Porto - Portugal.
Victor Matchenko was faster than me :-)