diff --git a/topics/basics/plugin_structure/plugin_components.md b/topics/basics/plugin_structure/plugin_components.md index 0a909f758..bcad4b956 100644 --- a/topics/basics/plugin_structure/plugin_components.md +++ b/topics/basics/plugin_structure/plugin_components.md @@ -1,13 +1,13 @@ -[//]: # (title: Components) - +# Components + Migrating deprecated plugin components to the current solutions. > When writing new plugins, creating Components should be avoided. > Any existing Components should be migrated to services, extensions, or listeners (see below). > -{style="warning"} +{style="warning" title="Deprecation Notice"} Plugin Components are a legacy feature supported for compatibility with plugins created for older versions of the IntelliJ Platform. Plugins using Components do not support [dynamic loading](dynamic_plugins.md) (the ability to install, update, and uninstall plugins without restarting the IDE). @@ -59,5 +59,5 @@ See also [](ide_infrastructure.md#running-tasks-once). ### Project and Application Close -To execute code on project closing or application shutdown, implement the `Disposable` interface in a [Service](plugin_services.md) and place the code in the `dispose()` method. +To execute code on project closing or application shutdown, implement the [`Disposable`](%gh-ic%/platform/util/src/com/intellij/openapi/Disposable.java) interface in a [Service](plugin_services.md) and place the code in the `dispose()` method. Alternatively, use `Disposer.register()` passing a `Project` or `Application` service instance as the `parent` argument (see [Choosing a Disposable Parent](disposers.md#choosing-a-disposable-parent)).