Way to change the standard flow of Refactor->Rename/ Move


I am writing a VCS plugin in which I want to override the Refactor->Rename
and Refactor->Move functionality.

My VCS has an API which actually moves the files on the SCM server as well
as on local file system. I want a way to hook these operations so that I can
call either the standard move operation of IDEA or my VCS API depending on
some condition.

I had a look at the PerforceListerners class from Perforce VCS plugin. I
tried to simulate the same thing but I am facing a problem that both IDEA
and my VCS api try to move the file physically whereas only one of them can
be successful.

Are there api's in IDEA which I can call/ interface which I can implement to
make this scenario possible?

I have written a similar plugin for Eclipse, and Eclipse provides me with an
Interface which I can implement and depending on my logic I can either call
the Eclipse move api or my VCS api.
Eclipse also provides me with an api in the same interface to just change
the references in the workspace for the moved files.

Does IDEA provide anything similar to this which I can use?

Thanks in advance.


Please sign in to leave a comment.