【问题标题】:Intellij IDEA Cannot UndoIntellij IDEA 无法撤消
【发布时间】:2011-12-27 17:07:30
【问题描述】:

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

Cannot Undo

并在其下显示一个列表:

Following files affected by this action have been already changed

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

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

【问题讨论】:

    标签: intellij-idea undo revert


    【解决方案1】:

    IntelliJ IDEA 有一个很棒的功能,称为本地历史。我可以恢复我的更改。 有一个视频给出了详细的例子:

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

    您可以从这里获得更多信息:http://jetbrains.com/help/idea/2016.1/using-local-history.html

    【讨论】:

    • 感谢 Intellij IDEA 支持团队的 Serge Baranov。当我从支持页面询问时,他立即回答了我的问题。
    • 是的,IntelliJ 支持人员很棒,这是我更喜欢 IntelliJ 而不是 Eclipse 的原因之一(不是唯一的原因)
    • 但如果我想还原更改,那么我真的想还原更改。但它仍然显示在我从目录中检查。保留本地历史是一回事,但保留 SVN 的历史是另一回事。我希望 intellij 不会在 SVN 提交中显示任何内容,也不会在文件恢复后恢复。
    • annnnnd 链接失效
    • @pennstatephil 这里是解释而不是死链接:jetbrains.com/help/idea/2016.1/using-local-history.html
    【解决方案2】:

    通过 VCS 撤消它 --> 本地历史 --> 显示历史。

    【讨论】:

      【解决方案3】:

      当我开发 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-02
        • 2015-10-21
        • 1970-01-01
        • 2012-05-23
        • 2014-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多