The plugin is currently using certain outdated mechanisms, which prevent it from being able to be dynamically reloaded.
Specifically:
Plugin cannot be loaded/unloaded without IDE restart: Plugin cannot be loaded/unloaded without IDE restart because it declares application components:
com.kagof.intellij.plugins.pokeprogress.PokemonProgressApplicationComponent
Description of the desired feature (required)
IntelliJ now support hot loading/unload of plugins as long as they meet certain criteria. We should easily be able to migrate this plugin to be compatible with that.
Why this feature would be valuable (optional)
Hot reloading would both make it easier for users (update without restarting their IDE), and for people developing for this plugin itself, as one can tweak the plugin and see the changes without having to restart the sandbox IDE over and over.
Note that since dynamic reloading is only available from IntelliJ 2020.1, it will likely also be prudent to (re) update the IntelliJ version we build for in build.gradle.kts.
Current behaviour (optional)
The plugin is currently using certain outdated mechanisms, which prevent it from being able to be dynamically reloaded.
Specifically:
Description of the desired feature (required)
IntelliJ now support hot loading/unload of plugins as long as they meet certain criteria. We should easily be able to migrate this plugin to be compatible with that.
Why this feature would be valuable (optional)
Hot reloading would both make it easier for users (update without restarting their IDE), and for people developing for this plugin itself, as one can tweak the plugin and see the changes without having to restart the sandbox IDE over and over.
How to implement this feature (optional)
See: https://jetbrains.org/intellij/sdk/docs/basics/plugin_structure/dynamic_plugins.html and https://jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_components.html for update instructions.
Note that since dynamic reloading is only available from IntelliJ 2020.1, it will likely also be prudent to (re) update the IntelliJ version we build for in
build.gradle.kts
.Additional information or context (optional)
N/A