2011-11-12 13 views
9

私はIntellij IDEAのプロジェクトに取り組んでいます。私はいくつかのパッケージをリファクタリングしました。しかし、私は自分の変更を取り消したい。私は、ボタンを元に戻す]をクリックすると、それはIntellij IDEA Can not Undo

Cannot Undo

を言うと、その下のリストを示しています。私はいくつかのパッケージとクラスを失ったので、どのように私は私の変更を元に戻すことができ

Following files affected by this action have been already changed

を。 Intellij IDEAは一時フォルダ内にIDEAを保持しますか?

PS:私は64ビットのUbuntuコンピュータでopen jdk 1.6.0を使用しています。

答えて

14

IntelliJ IDEAには、というローカル履歴という素晴らしい機能があります。私は自分の変更を元に戻すことができます。私は、http://jetbrains.com/help/idea/2016.1/using-local-history.html

+0

Intellij IDEAサポートチームのSerge Baranovに感謝します。彼は私がサポートページから尋ねたときすぐに私の質問に答えました。 – kamaci

+0

はい、IntelliJのサポート担当者は、私がIntelliJよりもEclipseを好む理由の1つです(唯一のものではありません)。 – Guillaume

+0

しかし、復帰変更が必要な場合は、本当に変更を元に戻したいと思っています。それでも私はディレクトリからチェックしています。地元の歴史を守ることは一つのことですが、SVNの歴史を維持することはもう一つです。 SVNのコミットに何も表示しない、またはファイルが元に戻った後に元に戻すことはできません。 –

2

私はIntelliJのプラグインemacsIDEAsを開発する際に、ここ数回にググ通り:

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

あなたはここからより多くの情報を得ることができます。 ビデオはそれのための詳細な例を示しますがありますそれを必要とする人のために私の解決策をここに残します。通常、ドキュメントに変更

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

12

は、VCSを通してそれを元に戻す - >ローカル歴史 - > [履歴の表示。