diff --git a/topics/basics/plugin_structure/plugin_actions.md b/topics/basics/plugin_structure/plugin_actions.md
index 8b9307bbf..60b522005 100644
--- a/topics/basics/plugin_structure/plugin_actions.md
+++ b/topics/basics/plugin_structure/plugin_actions.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Actions)
+[//]: # (title: Actions)
@@ -14,4 +14,4 @@ Subgroups of the group can form submenus of a menu.
The user can customize all registered actions via [Menus and Toolbars](https://www.jetbrains.com/help/idea/customize-actions-menus-and-toolbars.html) settings.
-Please see [Action System](basic_action_system.md) on how to create and register actions in the IDE.
\ No newline at end of file
+Please see [Action System](basic_action_system.md) on how to create and register actions in the IDE.
diff --git a/topics/basics/plugin_structure/plugin_class_loaders.md b/topics/basics/plugin_structure/plugin_class_loaders.md
index 671f297fe..4e65ca5aa 100644
--- a/topics/basics/plugin_structure/plugin_class_loaders.md
+++ b/topics/basics/plugin_structure/plugin_class_loaders.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Class Loaders)
+[//]: # (title: Class Loaders)
@@ -22,4 +22,4 @@ For this to work in a plugin, the context class loader must be set to the plugin
} finally {
Thread.currentThread().setContextClassLoader(current);
}
-```
\ No newline at end of file
+```
diff --git a/topics/basics/plugin_structure/plugin_components.md b/topics/basics/plugin_structure/plugin_components.md
index e2c1655ca..06f0ec28f 100644
--- a/topics/basics/plugin_structure/plugin_components.md
+++ b/topics/basics/plugin_structure/plugin_components.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Components)
+[//]: # (title: Components)
diff --git a/topics/basics/plugin_structure/plugin_content.md b/topics/basics/plugin_structure/plugin_content.md
index 971a7c740..2ae863201 100644
--- a/topics/basics/plugin_structure/plugin_content.md
+++ b/topics/basics/plugin_structure/plugin_content.md
@@ -47,4 +47,4 @@ All jars from the /lib folder are automatically added to the classp
├── plugin.xml
├── pluginIcon.svg
└── pluginIcon_dark.svg
-```
\ No newline at end of file
+```
diff --git a/topics/basics/plugin_structure/plugin_dependencies.md b/topics/basics/plugin_structure/plugin_dependencies.md
index 9c1ef5253..be558a886 100644
--- a/topics/basics/plugin_structure/plugin_dependencies.md
+++ b/topics/basics/plugin_structure/plugin_dependencies.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Dependencies)
+[//]: # (title: Dependencies)
@@ -13,7 +13,7 @@ For more information about dependencies on the IntelliJ Platform modules, see Pa
To express dependencies on classes from other plugins or modules, perform the following three required steps:
## Locating Plugin ID and Preparing Sandbox
-A compatible version must be chosen carefully according to the plugin's [compatibility](build_number_ranges.md).
+A compatible version must be chosen carefully according to the plugin's [compatibility](build_number_ranges.md).
For plugins published on [JetBrains Plugins Repository](https://plugins.jetbrains.com)
- open plugin's detail page
@@ -26,16 +26,16 @@ If the plugin is not bundled with the target IDE, run the (sandbox) [IDE Develop
## Project Setup
Depending on the chosen development workflow (Gradle or DevKit), one of the two following steps is necessary.
-
+
-
+
> Please see the `plugins` attribute [gradle-intellij-plugin: Configuration](https://github.com/JetBrains/gradle-intellij-plugin#configuration) for acceptable values.
>
{type="note"}
If the project uses [Gradle](gradle_build_system.md) with a Groovy build script to build the plugin, add the dependency to the `plugins` parameter of the `intellij` block in your build.gradle, for example:
-
+
build.gradle
```groovy
intellij {
@@ -100,9 +100,9 @@ In this case, the plugin will load even if the plugin it depends on is not insta
Declare additional `optional="true"` and `config-file` attribute pointing to optional plugin descriptor file:
```xml
- dependency.plugin.id
+ dependency.plugin.id
```
-
+
> Additional plugin descriptor files must follow the naming pattern myPluginId-$NAME$.xml resulting in unique filenames to prevent problems with classloaders in tests ([Details](https://youtrack.jetbrains.com/issue/IDEA-205964)).
>
{type="note"}
diff --git a/topics/basics/plugin_structure/plugin_extension_points.md b/topics/basics/plugin_structure/plugin_extension_points.md
index ab8d89d10..6d33e0daf 100644
--- a/topics/basics/plugin_structure/plugin_extension_points.md
+++ b/topics/basics/plugin_structure/plugin_extension_points.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Extension Points)
+[//]: # (title: Extension Points)
@@ -39,7 +39,7 @@ Then insert a child element `` that defines the extension point
```
-The `name` attribute assigns a unique name for this extension point.
+The `name` attribute assigns a unique name for this extension point.
Its fully qualified name required in [Using Extension Points](#using-extension-points) is built by prefixing `` + `.`: `my.plugin.myExtensionPoint1` and `my.plugin.myExtensionPoint2`.
The `beanClass` attribute sets a bean class that specifies one or several properties annotated with the [`@Attribute`](upsource:///platform/util/src/com/intellij/util/xmlb/annotations/Attribute.java) annotation.
@@ -142,4 +142,4 @@ Extension points matching these conditions can then be marked as _dynamic_ by ad
```
> All non-dynamic extension points are highlighted via Plugin DevKit | Plugin descriptor | Plugin.xml dynamic plugin verification inspection available in IntelliJ IDEA 2020.1 or later.
- > Previous versions also highlight the `dynamic` attribute as "experimental".
\ No newline at end of file
+ > Previous versions also highlight the `dynamic` attribute as "experimental".
diff --git a/topics/basics/plugin_structure/plugin_extensions.md b/topics/basics/plugin_structure/plugin_extensions.md
index f397f8752..fc921deb4 100644
--- a/topics/basics/plugin_structure/plugin_extensions.md
+++ b/topics/basics/plugin_structure/plugin_extensions.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Extensions)
+[//]: # (title: Extensions)
@@ -18,12 +18,12 @@ There are more than 1000 extension points available in the platform and the bund
## Exploring Available Extensions
[Extension Point List](extension_point_list.md) contains all available extension points in IntelliJ Platform and from bundled plugins in IntelliJ IDEA.
-Additionally, dedicated Extension Point Lists specific to IDEs are available under _Part VIII - Product Specific_.
+Additionally, dedicated Extension Point Lists specific to IDEs are available under _Part VIII - Product Specific_.
Browse usages inside existing implementations of open-source IntelliJ Platform plugins via [IntelliJ Platform Explorer](https://jb.gg/ipe).
Alternatively (or when using 3rd party extension points), all available extension points for the specified namespace (`defaultExtensionNs`) can be listed using auto-completion inside the `` block in plugin.xml.
Use View | Quick Documentation in the lookup list to access more information about the extension point and implementation (if applicable).
-See [Explore the IntelliJ Platform API](explore_api.md) for more information and strategies.
+See [Explore the IntelliJ Platform API](explore_api.md) for more information and strategies.
## Declaring Extensions
@@ -68,7 +68,7 @@ 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 restricting extension to given OS, e.g., `os="windows"` registers the extension on Windows only
-
+
If an extension instance needs to "opt out" in certain scenarios, it can throw [`ExtensionNotApplicableException`](upsource:///platform/extensions/src/com/intellij/openapi/extensions/ExtensionNotApplicableException.java) in its constructor.
### Extension Properties Code Insight
diff --git a/topics/basics/plugin_structure/plugin_listeners.md b/topics/basics/plugin_structure/plugin_listeners.md
index 08f70eed6..617dff42b 100644
--- a/topics/basics/plugin_structure/plugin_listeners.md
+++ b/topics/basics/plugin_structure/plugin_listeners.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Listeners)
+[//]: # (title: Listeners)
diff --git a/topics/basics/plugin_structure/plugin_services.md b/topics/basics/plugin_structure/plugin_services.md
index 78839d5e0..12baf30a9 100644
--- a/topics/basics/plugin_structure/plugin_services.md
+++ b/topics/basics/plugin_structure/plugin_services.md
@@ -1,4 +1,4 @@
-[//]: # (title: Plugin Services)
+[//]: # (title: Services)
@@ -53,7 +53,7 @@ To register a non-[Light Service](#light-services), distinct extension points ar
* `com.intellij.applicationService` - application level service
* `com.intellij.projectService` - project level service
* `com.intellij.moduleService` - module level service (not recommended, see Note above)
-
+
To expose service API, create separate class for `serviceInterface` and extend it in corresponding class registered in `serviceImplementation`.
If `serviceInterface` isn't specified, it's supposed to have the same value as `serviceImplementation`.