I understand scenario how can this plugin be useful.
But as i said, it’s more useful for presentation:slight_smile:
Why this plugin is bad
- any external class will be not updated. for example:
- regen parser or lexer (via external tool, or by hand not matter)
- after some time - plugin file will be huge, and need extract it, but around 50% code is not simply copy&paste to own class (and that class will be always groovy or kotlin)
- registering extensions in runtime is very bad idea. Some of code in IDEA(or Consulo) don’t allow that (they cache extension list and don’t drop after ep registering). That why - some of extensions will be not updated in runtime
- Your plugin will be depend to Live plugin runtime library, which provide legacy(due it’s provide support code inside groovy script).
import static liveplugin.PluginUtil.changeGlobalVar
import static liveplugin.PluginUtil.show
- changing plugin.xml not handled.
And i’m not saw real plugin which used live-plugin as core. I saw only few test examples.
Since plugin runtime is not extracted - that mean Live plugin is required for running your plugin.
And the last thing. Groovy is required for live - but in Consulo there no groovy library (IDEA contains it).
This plugin download groovy at start when not resolved - but Consulo release circle is more faster that IDEA, and after update you need always download groovy and restart IDE (which means after update you need restart again for correct plugin work).
Ah, you can say use groovy from Groovy plugin - but it’s not good idea too, since it require install JVM plugin stack in Consulo (which not installed, in Consulo Java is plugin which can be disabled as any another)
Maybe something i forgot. But please don’t use it in IDEA (or Consulo) - advice.
You can ask IDEA team, or me for plugin API. I can give you any information about IDEA/Consulo API by 24/7
I’m already supporting few peoples in plugin dev almost from scratch (https://github.com/Camelcade/Perl5-IDEA and some commercial plugin)
Anyway. Any Consulo plugin can be developed in any IDE, since i’m migrated to maven.
You can try migrate plugin to Consulo, it’s not hard, but this plugin is developed in Kotlin, kotlin - is not available in Consulo, since JVM stack is not popular, that mean - use another IDE for it.
I’m using Maven as build system, and all libraries stored in it - there no limitation, which IDE you use for plugin dev.