IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
What’s New for Plugin Authors in IntelliJ IDEA 13
In the past couple of months we’ve been talking a lot about what new features users can find in IntelliJ IDEA 13. Today we’d like to take a break from that and speak a little bit about what it brings to the plugin authors, so this post will give you an overview of notable changes in the Plugin DevKit. Everything marked with (13.1) is already available in the freshly released IntelliJ IDEA 13.1 EAP.
plugin.xml editor
It’s faster and has new code highlighting and inspection features. For example, you can now see the usages of deprecated extension points:
Code completion, usage search, navigation, and refactorings are supported for message resource bundles and keys:
The language attribute now provides code completion as well (13.1):
The implementation attribute now suggests the matching subclass candidates only when you use the Smart code completion:
New inspections
These five inspections from the internal mode have been added to the Plugin DevKit (13.1):
- File.equals usage
- Preferred JComboBox renderer
- Undesirable class usage
- Unsafe VFS recursion
- Use Darcula aware JBColor
See their descriptions for details on how they can be used.
DOM model
When you use DOM model for the XML-based models, IntelliJ IDEA will be aware of implicit usages of the DOM-related methods for any DomElement and DomElementVisitor in your code, eliminating the false positive unused method warnings.
JAM support
If you’re going to support annotation-based frameworks in your plugins, use the open-sourced JAM-Support (the sources can be found in $IDEA_HOME$/lib/src/src_jam-openapi.zip). Stay tuned for a more detailed guide on this coming soon.
That’s all for now, folks. If want to write your own plugin and wondering where to start, visit the official IntelliJ IDEA Plugins page.
Have questions or other feedback about the IntelliJ platform? Join our plugin development forum which is closely monitored by the team.
Develop plugins with Pleasure!