Intellij IDEA не может отменить - PullRequest
       120

Intellij IDEA не может отменить

12 голосов
/ 12 ноября 2011

Я работаю над проектом в Intellij IDEA. Я перенес рефакторинг некоторых пакетов. Однако я хочу отменить свои изменения. Когда я нажимаю кнопку возврата, он говорит

Cannot Undo

и показывает список под этим:

Following files affected by this action have been already changed

Как я могу отменить свои изменения, потому что я потерял некоторые пакеты и классы. Хранит ли Intellij IDEA их во временной папке?

PS: Я использую open jdk 1.6.0 на 64-битном компьютере с Ubuntu.

Ответы [ 3 ]

18 голосов
/ 12 ноября 2011

IntelliJ IDEA имеет замечательную функцию, которая называется локальная история .Я мог бы отменить свои изменения. Существует видео, в котором приводится подробный пример:

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

Более подробную информацию можно получить здесь: http://jetbrains.com/help/idea/2016.1/using-local-history.html

15 голосов
/ 23 марта 2015

Отменить это через VCS -> Local History -> Show History.

2 голосов
/ 23 января 2013

Поскольку я несколько раз гуглял здесь при разработке плагина IntelliJ emacsIDEAs , я оставлю здесь свое решение для тех, кому оно нужно.

обычно изменение документа необходимо сделать в runWriteAction , а для отмены изменений в документе необходимо вызвать CommandProcessor.getInstance (). executeCommand

поэтому решение таково: вызовите executeCommand в runWriteAction , тогда изменения будут отменены.

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

...