如何在 Jetbrains MPS 的节点上 运行 撤消操作?
How to run an undo action on a node in Jetbrains MPS?
我正在创建一个插件,它将有两个按钮用于在特定节点上执行撤消和重做操作。
我想知道是否可以执行 IDE 撤消和重做操作有问题?
我发现下面的代码在 Jetbrain 的 MPS 中执行撤消和重做操作。
foreach editor in FileEditorManager.getInstance(project).getAllEditors() {
if (editor.getName() != null && editor.getName().equals("EDITER_TO_UPDATE")) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (operations.equals(Operations.UNDO)) {
UndoManagerImpl.getInstance(project).undo(editor);
} else if (operations.equals(Operations.REDO)) {
UndoManagerImpl.getInstance(project).redo(editor);
}
}
});
}
}
我正在创建一个插件,它将有两个按钮用于在特定节点上执行撤消和重做操作。 我想知道是否可以执行 IDE 撤消和重做操作有问题?
我发现下面的代码在 Jetbrain 的 MPS 中执行撤消和重做操作。
foreach editor in FileEditorManager.getInstance(project).getAllEditors() {
if (editor.getName() != null && editor.getName().equals("EDITER_TO_UPDATE")) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (operations.equals(Operations.UNDO)) {
UndoManagerImpl.getInstance(project).undo(editor);
} else if (operations.equals(Operations.REDO)) {
UndoManagerImpl.getInstance(project).redo(editor);
}
}
});
}
}