Intellij 9 Development Experience
Getting the source and setting up for the first run was fairly painless after you find the download information. It was nice to see that the code repository was git. I ran into 2 issues in getting setup:
- Git clone failed with an unclear message initially. It turned out I was trying to clone using the git protocol behind a corporate firewall which was blocking it. As soon I was not behind the firewall, all went well. Be prepared... it is 924 MB.
- Setting up the run configuration wasn't complex, but it wasn't as advertised.
Here is what the Building and Running from the IDE from the checkout and build page should read:
- Open the project as a "new" directory-based project
- Configure a JSDK named "IDEA jdk", pointing to an installation of either JDK 1.6 (recommended) or JDK 1.5. This is on the project tab of the project structure.
- Increase the compiler heap size... default is 128M, it works with 512M :)
- Use Build | Make Project to build the code
- To run the code, use the provided shared run configuration "IDEA".
- You will see that there are circular dependencies between 4 of the project modules.
- With the default compiler heap size, you will get a compilation error ( which is erroneous )
- There are a number of deprecation warnings during compilation... this might be a great place for someone to get involved and do some clean up.
After you have an Intellij running another instance of Intellij :) Here is a list of resources to be familiar with:
- Source Repository Layout
- View PSI structure (under the tool menu) - PSI is an IDEA AST abstraction, which was the toughest learning curve. Learn it! Then look at the following clases and their usage in the code base: PsiUtilBase, PsiUtil, PsiResolveHelper, PsiResolveHelperImpl
In the end, I spent 4 hours adding in additional gradle task support into Intellij 9, created a patch and submitted to Peter... a few days later I was informed that it was committed to repository. Enhanced Gradle support is on it's way!
I had mixed feels when IDEA announced it was going open source, but now that it is... Let's get in there and make this an even better editor!
Kudos to JetBrains and it's community!