Update generated descriptor pages (#1456)

Co-authored-by: karollewandowski <1154140+karollewandowski@users.noreply.github.com>
This commit is contained in:
github-actions[bot] 2025-04-14 08:26:20 +02:00 committed by GitHub
parent 9e2fe1956d
commit 9310369f6a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -87,6 +87,8 @@ Deprecated elements are omitted in the list below.
- [`<listener>`](#idea-plugin__applicationListeners__listener) - [`<listener>`](#idea-plugin__applicationListeners__listener)
- [`<projectListeners>`](#idea-plugin__projectListeners) - [`<projectListeners>`](#idea-plugin__projectListeners)
- [`<listener>`](#idea-plugin__applicationListeners__listener) - [`<listener>`](#idea-plugin__applicationListeners__listener)
- [`<xi:include>`](#idea-plugin__xi:include)
- [`<xi:fallback>`](#idea-plugin__xi:include__xi:fallback)
## `idea-plugin` ## `idea-plugin`
{#idea-plugin} {#idea-plugin}
@ -128,6 +130,7 @@ Children
- [`<resource-bundle>`](#idea-plugin__resource-bundle) - [`<resource-bundle>`](#idea-plugin__resource-bundle)
- [`<vendor>`](#idea-plugin__vendor) - [`<vendor>`](#idea-plugin__vendor)
- [`<version>`](#idea-plugin__version) - [`<version>`](#idea-plugin__version)
- [`<xi:include>`](#idea-plugin__xi:include)
- [`<application-components>`](#idea-plugin__application-components) ![Deprecated][deprecated] - [`<application-components>`](#idea-plugin__application-components) ![Deprecated][deprecated]
- [`<module-components>`](#idea-plugin__module-components) ![Deprecated][deprecated] - [`<module-components>`](#idea-plugin__module-components) ![Deprecated][deprecated]
- [`<project-components>`](#idea-plugin__project-components) ![Deprecated][deprecated] - [`<project-components>`](#idea-plugin__project-components) ![Deprecated][deprecated]
@ -589,7 +592,7 @@ Attributes
`order`. `order`.
<br/> <br/>
To not clash with other plugins defining extensions with the same identifier, To not clash with other plugins defining extensions with the same identifier,
consider prepending the identifier with a prefix related to the plugin [`<id>`](#idea-plugin__id) or consider prepending the identifier with a prefix related to the plugin [`<id>`](#idea-plugin__id) or
[`<name>`](#idea-plugin__name), for example, `id="com.example.myplugin.myExtension"`. [`<name>`](#idea-plugin__name), for example, `id="com.example.myplugin.myExtension"`.
- `order` _(optional)_<br/> - `order` _(optional)_<br/>
Allows for ordering the extension relative to other instances of the same extension point. Allows for ordering the extension relative to other instances of the same extension point.
@ -613,7 +616,7 @@ Attributes
- `mac` - `mac`
- `unix` - `unix`
- `windows` - `windows`
For example, `os="windows"` registers the extension on Windows only. For example, `os="windows"` registers the extension on Windows only.
### `extensionPoints` ### `extensionPoints`
@ -691,12 +694,12 @@ Attributes
The scope in which the [extension](plugin_extensions.md) is The scope in which the [extension](plugin_extensions.md) is
instantiated. instantiated.
Allowed values: Allowed values:
- `IDEA_APPLICATION` _(default)_ - `IDEA_APPLICATION` _(default)_
- `IDEA_PROJECT` - `IDEA_PROJECT`
- `IDEA_MODULE` (**deprecated**) - `IDEA_MODULE` (**deprecated**)
**It is strongly recommended not to introduce new project- and module-level extension points.** **It is strongly recommended not to introduce new project- and module-level extension points.**
If an extension point needs to operate on a `Project` or `Module` instance, declare an application-level extension If an extension point needs to operate on a `Project` or `Module` instance, declare an application-level extension
point and pass the instance as a method parameter. point and pass the instance as a method parameter.
@ -739,7 +742,7 @@ Example
An extension point which restricts the type provided in a `myClass` attribute to be an instance An extension point which restricts the type provided in a `myClass` attribute to be an instance
of `com.example.ParentType`, and the type provided in a `someClass` element to be an instance of `com.example.ParentType`, and the type provided in a `someClass` element to be an instance
of `java.lang.Comparable`: of `java.lang.Comparable`:
```xml ```xml
<extensionPoint <extensionPoint
name="myExtension" name="myExtension"
@ -752,18 +755,18 @@ Example
implements="java.lang.Comparable"/> implements="java.lang.Comparable"/>
</extensionPoint> </extensionPoint>
``` ```
When using the above extension point, an implementation could be registered as follows: When using the above extension point, an implementation could be registered as follows:
```xml ```xml
<myExtension ... <myExtension ...
myClass="com.example.MyCustomType"> myClass="com.example.MyCustomType">
<someClass>com.example.MyComparable</someClass> <someClass>com.example.MyComparable</someClass>
</myExtension> </myExtension>
``` ```
where: where:
- `com.example.MyCustomType` must be a subtype of `com.example.ParentType` - `com.example.MyCustomType` must be a subtype of `com.example.ParentType`
- `com.example.MyComparable` must be a subtype of `java.lang.Comparable` - `com.example.MyComparable` must be a subtype of `java.lang.Comparable`
@ -1455,6 +1458,101 @@ Children
: :
- [`<listener>`](#idea-plugin__applicationListeners__listener) - [`<listener>`](#idea-plugin__applicationListeners__listener)
### `xi:include`
{#idea-plugin__xi:include}
Allows including content of another plugin descriptor in this descriptor with
[XInclude](http://www.w3.org/2001/XInclude) standard.
{type="narrow"}
Namespace
:
`xi="http://www.w3.org/2001/XInclude"`
{type="narrow"}
Required
: no
{type="narrow"}
Attributes
:
- `href` _(optional)_<br/>
Path of the plugin descriptor file to include.
- `xpointer` _(optional)_<br/>
**_Deprecated since 2021.2_**: The `xpointer` attribute must be `xpointer(/idea-plugin/*)` or not defined.
Elements pointer to include.<br/>
Default value: `xpointer(/idea-plugin/*)`.
Children
:
- [`<xi:fallback>`](#idea-plugin__xi:include__xi:fallback)
Example
:
Given a plugin descriptor:
```xml
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<id>com.example.myplugin</id>
<name>Example</name>
<xi:include href="/META-INF/another-plugin.xml"/>
...
</idea-plugin>
```
and <path>/META-INF/another-plugin.xml</path>:
```xml
<idea-plugin>
<extensions>...</extensions>
<actions>...</actions>
</idea-plugin>
```
The effective plugin descriptor loaded to memory will contain the following elements:
```xml
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<id>com.example.myplugin</id>
<name>Example</name>
<extensions>...</extensions>
<actions>...</actions>
...
</idea-plugin>
```
#### `xi:fallback`
{#idea-plugin__xi:include__xi:fallback}
Indicates that including the specified file is optional.
If the file referenced in `href` is not found and the `xi:fallback`
element
is missing, the plugin will fail to load.
{type="narrow"}
Namespace
:
`xi="http://www.w3.org/2001/XInclude"`
{type="narrow"}
Required
: no
Example
:
```xml
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
...
<xi:include href="/META-INF/optional-plugin.xml">
<xi:fallback/>
</xi:include>
...
</idea-plugin>
```
### `application-components` ### `application-components`
{#idea-plugin__application-components collapsible="true" initial-collapse-state="collapsed"} {#idea-plugin__application-components collapsible="true" initial-collapse-state="collapsed"}