2011-11-12 46 views
9

Tôi đang làm việc trên một dự án tại Intellij IDEA. Tôi di chuyển refactored một số gói. Tuy nhiên, tôi muốn hoàn tác các thay đổi của mình. Khi tôi bấm vào nút phục hồi nó nóiIntellij IDEA Không thể Hoàn tác

Cannot Undo

và cho thấy một danh sách dưới rằng:

Following files affected by this action have been already changed

Làm thế nào tôi có thể trở lại những thay đổi của tôi, vì tôi đã mất một số gói và các lớp học. Intellij IDEA có giữ chúng bên trong một thư mục tạm thời không?

PS: Tôi sử dụng mở jdk 1.6.0 trên máy tính Ubuntu 64 bit.

Trả lời

14

IntelliJ IDEA có một tính năng tuyệt vời được gọi là lịch sử địa phương. Tôi có thể hoàn nguyên các thay đổi của mình. Có một đoạn video đưa ra một ví dụ cụ thể cho nó:

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

Bạn có thể tìm thêm thông tin tại đây: http://jetbrains.com/help/idea/2016.1/using-local-history.html

+0

Nhờ Serge Baranov từ nhóm hỗ trợ Intellij IDEA. Anh ấy trả lời câu hỏi của tôi ngay lập tức khi tôi hỏi từ trang hỗ trợ. – kamaci

+0

Vâng, những người hỗ trợ IntelliJ thật tuyệt vời đó là một trong những lý do (không phải là duy nhất) mà tôi thích IntelliJ hơn Eclipse – Guillaume

+0

Nhưng trong trường hợp tôi muốn hoàn nguyên thay đổi thì tôi thực sự muốn hoàn nguyên thay đổi. nhưng nó vẫn hiển thị trong tôi kiểm tra từ thư mục. Giữ lịch sử địa phương là một điều nhưng giữ lịch sử cho SVN là một điều khác. Tôi hy vọng intellij không hiển thị bất cứ điều gì trong SVN cam kết hoặc hoàn nguyên sau khi tập tin đã được hoàn nguyên. –

2

Như tôi đã googled đến đây vài lần khi tôi đang phát triển IntelliJ Plugin emacsIDEAs, tôi sẽ để lại giải pháp của tôi ở đây cho một người cần nó. .

thường chuyển sang tài liệu cần được thực hiện trong runWriteAction, và cho những thay đổi lùi lại tài liệu cần gọi CommandProcessor.getInstance() ExecuteCommand

vì vậy giải pháp là: gọi ExecuteCommand trong runWriteAction, sau đó các thay đổi sẽ được hoàn tác.

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)); 

đang repo: https://github.com/whunmr/emacsIDEAs

12

Undo nó thông qua VCS -> Lịch sử địa phương -> Show History.

Các vấn đề liên quan