First of all, thanks for taking the time to contribute.
- Report bugs
- Fix bugs
- Improve existing features
This is required if you want to fix bugs or improve existing features.
If you are not fluent with IntelliJ plugin development, you should start by reading their documentation. It is not perfect - IntelliJ is a huge project - but it really helps giving a big picture and a straight track to follow. Much of your learning will also come from browsing the old forums and the new forums, diving through other plugins and IntelliJ platform source code, trials and errors, and a lot of time.
Explore the existing code before trying to modify it. Use good first issues to get familiar with the codebase.
Please look at the existing code before writing anything and try to follow some simple rules:
- Look for already existing code (in either the plugin or IntellJ SDK) before writing what you need
- Try to put the code in the right package using your best judgement
- Java is not allowed, only Kotlin please
- I know it's boring, but please please write tests 🥰
- Prefer fast but memory-hungry over slow and low memory footprint: IDEs need to be fast and sometimes that might need higher memory usage (i.e. use caches)
Before implementing new features (or major changes to existing ones), please open an issue to discuss it with me.