Where is refactoring engine documentation?

I have checked out the source code from https://github.com/JetBrains/intellij-community.git and am sifting through the source code trying to determine how IntelliJ IDEA's refactoring engine works (my end goal is to make a plugin that applies custom code changes and refactorings).

I found some code for the rename refactoring, but it seems to be spread out throughout the project. For example, java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor is used for a rename invoked through the GUI, while platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer is used for an inplace rename. I feel like these two should call some common class or method, but I can't find any documentation on how the refactoring engine code is organized.

Could someone please point me in the right direction?



Comment actions Permalink

There is no documentation describing how the code is organized. If you have specific questions, feel free to ask them here.

Comment actions Permalink

Thanks Dmitry. I found your unchain plugin and think I understand adding a custom refactoring a little more from it.

I have asked a question about the process of adding a custom refactioring here.


Please sign in to leave a comment.