我正在Intellij IDEA开展一个项目。我移动重构了一些包。但是我想撤消我的更改。当我点击恢复按钮时,它会显示
Cannot Undo
并在其下显示一个列表:
Following files affected by this action have been already changed
如何恢复我的更改,因为我丢失了一些包和类。 Intellij IDEA是否将它们保存在临时文件夹中?
PS:我在64位Ubuntu计算机上使用open jdk 1.6.0。
答案 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));