I am involved in writing 2 plugins for IntelliJ IDEA supporting Atlassian products.
I spend most of the time wondering "How the (bloop) am I supposed to use this openapi class to do what I need properly?"
In general, the IDEA API is poorly documented. There is some JavaDoc, but for most classes there is no human-provided description, not to mention sample usages etc.
Fortunately, most classes and methods are well named, so once you know which class to use, it is usually possible to guess how to use it.
Here comes my first best friend - autocomplete feature of IDEA.
Did you know that IDEA has 3 different key combinations for autocomplete, each working in a different way?
Go To Class and Go To Symbol are quite useful too.
Now, where do I find some sample code?
Plain Old Google might be helpful, but my second best friend is the Open API and Plugin Development forum. Searching the forum sometimes leads you to some insightful code snippets (sometimes even straight answers). You may post a question there and some guys here claim they even got a reply (I haven't been so lucky yet, maybe my questions were too nonstandard).
Here comes my new friend I stumbled upon recently: koders.com
So, let's see how to create a TreeTableView.
JavaDoc - not extremely helpful, is it?
Let's go to koders.com:
- Sweeeet :-)
Trivia (world is small :-) ):
- Have you noticed how this is similar to openapi's TreeTableView?
- koders.com has been bought by Black Duck Software, who sell Protex IP, the "GPL Contamination Detection" solution - rings the bell for anyone? ;-)