From 4afc1684e80c3ce1bf7466b1f37f69752984dc95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Tue, 25 Mar 2025 13:45:03 +0100 Subject: [PATCH] plugin_extension_points.md: cleanup --- .../plugin_structure/plugin_extension_points.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/topics/basics/plugin_structure/plugin_extension_points.md b/topics/basics/plugin_structure/plugin_extension_points.md index 0a046ea31..61c5c5259 100644 --- a/topics/basics/plugin_structure/plugin_extension_points.md +++ b/topics/basics/plugin_structure/plugin_extension_points.md @@ -1,8 +1,12 @@ - + # Extension Points -Allowing to extend plugin's functionality by other plugins. + +Extend a plugin's functionality by defining extension points for other plugins. + + +Allowing extending a plugin's functionality by other plugins. > See [Plugin Extensions](plugin_extensions.md) for _using_ extension points in your plugin. > @@ -45,7 +49,7 @@ Base classes for extensions requiring a key: - [`ClassExtension`](%gh-ic%/platform/core-api/src/com/intellij/openapi/util/ClassExtension.java) - [`KeyedExtensionCollector`](%gh-ic%/platform/core-api/src/com/intellij/openapi/util/KeyedExtensionCollector.java) -> See [](bundling_plugin_openapi_sources.md) section explaining how to expose extension points sources to other plugins. +> See the [](bundling_plugin_openapi_sources.md) section explaining how to expose extension points sources to other plugins. > {style="note"} @@ -98,7 +102,7 @@ public final class MyBeanClass extends AbstractExtensionPointBean { > See [Extension properties code insight](plugin_extensions.md#extension-properties-code-insight) on how to provide smart completion/validation. -For above extension points, their usage in _anotherPlugin_ would look like this (see also [Declaring Extensions](plugin_extensions.md#declaring-extensions)): +For the above extension points, their usage in _anotherPlugin_ would look like this (see also [Declaring Extensions](plugin_extensions.md#declaring-extensions)): anotherPlugin/META-INF/plugin.xml @@ -156,7 +160,7 @@ When processing extension implementations or registrations, there might be error Use [`PluginException`](%gh-ic%/platform/core-api/src/com/intellij/diagnostic/PluginException.java) to log and correctly attribute the causing plugin for [builtin error reporting](ide_infrastructure.md#error-reporting). -To report use of deprecated API, use `PluginException.reportDeprecatedUsage()` methods. +To report use of a deprecated API, use `PluginException.reportDeprecatedUsage()` methods. **Examples:** - [`CompositeFoldingBuilder.assertSameFile()`](%gh-ic%/platform/core-api/src/com/intellij/lang/folding/CompositeFoldingBuilder.java) @@ -167,7 +171,7 @@ To report use of deprecated API, use `PluginException.reportDeprecatedUsage()` m To support [Dynamic Plugins](dynamic_plugins.md), an extension point must adhere to specific usage rules: -- extensions are enumerated on every use and extensions instances are not stored anywhere +- extensions are enumerated on every use, and extension instances are not stored anywhere - alternatively, an [`ExtensionPointListener`](%gh-ic%/platform/extensions/src/com/intellij/openapi/extensions/ExtensionPointListener.kt) can perform any necessary updates of data structures (register via `ExtensionPointName.addExtensionPointListener()`) Extension points matching these conditions can then be marked as _dynamic_ by adding `dynamic="true"` in their declaration: