saros
saros copied to clipboard
Update Saros/I to support dynamic loading/unloading
IntelliJ 2020.1 adds the functionality to dynamically load/unload plugins without having to restart the IDE. To be compatible with this logic, the plugin needs to adhere to specific criteria listed here.
According to the IntelliJ Plugin Verifier, the current release 0.2.2 has the following issues:
- Plugin declares application components:
- saros.intellij.SarosComponent
To resolve this issue, it would probably be enough to move the plugin lifecycle initialization to the project startup listener (see doc). Since the lifecycle is singleton, this should not cause any issues. And since the plugin is (currently) only usable through the project UI, loading it beforehand is not necessary.
The plugin should, however, not be torn down on project close without careful consideration first. It currently is bound to the application scope and it should probably remain that way. For more background information on the plugin lifecycle scope, you can have a look at #76 and #568.
Additional issues detected with 2019.3 builds
The verifier for builds in the 2019.3.x range also finds additional issues. These are basic IDE integrations and from the guidelines, it is not apparent to me what the issue is and how to fix it, so lets just hope that this is a false positive.
- Plugin declares non-dynamic extensions:
- com.intellij.additionalTextAttributes
- com.intellij.colorSettingsPage