Can a plugin be written that tracks certain IDEA features being used to determine if a user should be using CE instead of Ultimate?
Answered
Hi, I was wondering if there's a way to write a plugin that could track whether certain features (Database, Spring etc) are used (maybe how long the relevant window remains open (crude metric I know!)) to determine if a user should be recommended to use the Community Edition instead of Ultimate?
I've not written a plugin before but open to trying this out if it is possible to do…
Please sign in to leave a comment.
A general hint, which could be useful for your task:
After enabling the Internal Actions menu in IntelliJ you can use the UI Inspector to find certain views in IntelliJ and corresponding classes. Here I checked for the database view using the UI Inspector:
You could check for their visibility periodically either by posting delayed custom events on the event queue or using a thread (though UI stuff in threads is usually not recommended, although it's just a getter …).
However I'm not sure why you would want your features in Community Edition but not inside the Ultimate Edition.
Thank you for your answer!
My reason for this plugin is to find license users who are not using the Ultimate features and persuade them to downgrade to CE via a message in the UI.
We can install this plugin by default in the installation.
Many users use Ultimate as a text editor so would be good to target these users and let them know they can use CE safely. The trick is to be able to select the right metrics to discern whether CE is right for the user or not.
If you have an alternative way of determining this then let me know please! :-)