diff --git a/basics/plugin_structure/plugin_extensions.md b/basics/plugin_structure/plugin_extensions.md index eba49d89e..6339e74e6 100644 --- a/basics/plugin_structure/plugin_extensions.md +++ b/basics/plugin_structure/plugin_extensions.md @@ -6,8 +6,9 @@ redirect_from: _Extensions_ are the most common way for a plugin to extend the functionality of the IntelliJ Platform in a way -that is not as straightforward as adding an action to a menu or toolbar. The following are some of the most common -tasks accomplished using extensions: +that is not as straightforward as adding an action to a menu or toolbar. + +The following are some of the most common tasks accomplished using extensions: * The `com.intellij.toolWindow` extension point allows plugins to add [tool windows](/user_interface_components/tool_windows.md) (panels displayed at the sides of the IDE user interface); @@ -57,11 +58,11 @@ The following properties are available always: - `id` - unique ID - `order` - allows to order all defined extensions using `first`, `last` or `before|after [id]` respectively -- `os` - allows to restrict extension to given OS, e.g., `os="windows"` registers the extension on Windows only +- `os` - allows restricting extension to given OS, e.g., `os="windows"` registers the extension on Windows only ### Extension Properties Code Insight -Several tooling features are available to help configuring bean class extension points in `plugin.xml`. +Several tooling features are available to help configure bean class extension points in `plugin.xml`. Properties annotated with [`@RequiredElement`](upsource:///platform/extensions/src/com/intellij/openapi/extensions/RequiredElement.java) are inserted automatically and validated (2019.3 and later). @@ -87,9 +88,15 @@ Attributes with `Enum` type support code insight with _lowerSnakeCased_ notation ## How to get the extension points list? +All available extension points for the specified namespace can be listed by using auto-completion inside `` block. + To get a list of extension points available in the *IntelliJ Platform* core, consult the `` section of the following XML configuration files: -* [`LangExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/LangExtensionPoints.xml) -* [`PlatformExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml) -* [`VcsExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/VcsExtensionPoints.xml) +- [`LangExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/LangExtensionPoints.xml) +- [`CompletionExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/CompletionExtensionPoints.xml) +- [`RefactoringExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/RefactoringExtensionPoints.xml) +- [`FormatterExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/FormatterExtensionPoints.xml) +- [`EditorExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/EditorExtensionPoints.xml) +- [`PlatformExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml) +- [`VcsExtensionPoints.xml`](upsource:///platform/platform-resources/src/META-INF/VcsExtensionPoints.xml)