Intellij IDEA无法撤消

时间:2011-11-12 17:20:07

标签: intellij-idea undo revert

我正在Intellij IDEA开展一个项目。我移动重构了一些包。但是我想撤消我的更改。当我点击恢复按钮时,它会显示

Cannot Undo

并在其下显示一个列表:

Following files affected by this action have been already changed

如何恢复我的更改,因为我丢失了一些包和类。 Intellij IDEA是否将它们保存在临时文件夹中?

PS:我在64位Ubuntu计算机上使用open jdk 1.6.0。

3 个答案:

答案 0 :(得分:18)

IntelliJ IDEA有一个很棒的功能叫做本地历史记录。我可以恢复我的改变。 有一个视频给出了一个详细的例子:

<击> http://www.jetbrains.com/idea/training/demos/local_history.html

您可以从此处获取更多信息:http://jetbrains.com/help/idea/2016.1/using-local-history.html

答案 1 :(得分:15)

通过VCS撤消它 - &gt;当地历史 - &gt;显示历史。

答案 2 :(得分:2)

当我开发IntelliJ插件emacsIDEAs时,我几次搜索到这里,我会把我的解决方案留给那些需要它的人。

通常需要在 runWriteAction 中更改为文档, 以及对 CommandProcessor.getInstance()中调用的文档需要进行撤消更改.executeCommand

所以解决方案是:在 runWriteAction 中调用 executeCommand ,然后更改将是可撤消的。

protected Runnable getRunnableWrapper(final Runnable runnable) {
    return new Runnable() {
        @Override
        public void run() {
            CommandProcessor.getInstance().executeCommand(_editor.getProject(), runnable, "cut", ActionGroup.EMPTY_GROUP);
        }
    };
}

final Runnable runnable = new Runnable() {
    @Override
    public void run() {
        selectJumpArea(jumpTargetOffset);
        _editor.getSelectionModel().copySelectionToClipboard();
        EditorModificationUtil.deleteSelectedText(_editor);
        _editor.getSelectionModel().removeSelection();
    }
};

ApplicationManager.getApplication().runWriteAction(getRunnableWrapper(runnable));

代码回购:https://github.com/whunmr/emacsIDEAs