Идея Intellij не может отменить

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

Cannot Undo

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

Following files affected by this action have been already changed

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

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

3 ответов


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

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

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


отменить его через VCS --> локальная история --> показать историю.


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

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

таким образом, решение: call 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