Идея 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
Как я гуглил здесь несколько раз, когда я разрабатываю 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