General advice - plugin development for renaming tool

Hi all

I'm hoping for some general hints about the best way to implement a "renaming" tool in IntelliJ

I do a fair bit of mod development for Minecraft, a commercial Java game.  Mod development is done using a decompiled version of the game object code.  This means it is full of unfriendly names like func12512().  

Some enthusiasts have produced the "Minecraft Coders Pack" which is essentially just a mapping of the decompiled names to user-friendly names figured out by reverse-engineering the code.  You can download the mappings and run a custom script to apply them to the source code.

The problem is, this is all very clunky and slow; and if you want to contribute to the mappings yourself, it's extremely cumbersome. You can't change the decompiled names without breaking the re-obfuscation process, and it will break the next time you download the new mappings..

So I have this vision of a plugin in IntelliJ which lets you rename methods, fields, parameters etc, and stores the custom mappings in a local or remote database of some kind; lets you download & apply new mappings to parts of the source without redoing the whole lot.

This seems very similar to what the inbuilt rename refactoring does already.  My Java skills are pretty modest and I know basically nothing about plugins, so my questions are-

(1) does this sound like something that could be easily implemented as a plugin?
(2) if so, where would I best start looking for more information/getting started guide?  Are there any similar open source plugins which might be a useful starting point?


Please sign in to leave a comment.