(various): fix - use snippet for EP with link to IPE

This commit is contained in:
Yann Cébron 2025-03-19 15:55:35 +01:00
parent eecc3e4fec
commit 3f20911263
12 changed files with 22 additions and 18 deletions

View File

@ -23,23 +23,23 @@ Generating HTML fragments
: Use [`HtmlBuilder`](%gh-ic%/platform/util/src/com/intellij/openapi/util/text/HtmlBuilder.java) for generating formatted content, e.g., for [Documentation](documentation.md).
Extensible HTML Lexer/Parser
: Implement [<include from="snippets.topic" element-id="ep"><var name="ep" value="HtmlEmbeddedContentSupport`](%gh-ic%/xml/xml-psi-impl/src/com/intellij/html/embedding/HtmlEmbeddedContentSupport.kt) and register in `com.intellij.html.embeddedContentSupport"/></include> to embed arbitrary tokens into any tag or attribute.
: Implement [`HtmlEmbeddedContentSupport`](%gh-ic%/xml/xml-psi-impl/src/com/intellij/html/embedding/HtmlEmbeddedContentSupport.kt) and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.html.embeddedContentSupport"/></include> to embed arbitrary tokens into any tag or attribute.
Please note that old API from `com.intellij.lexer.BaseHtmlLexer` is no longer working.
Action System
: New features in [](action_system.md): `<override-text>` works now for [`<group>`](plugin_configuration_file.md#idea-plugin__actions__group) as well, [`<synonym>`](plugin_configuration_file.md#idea-plugin__actions__action__synonym) provides alternative names when searching for actions, and groups can be excluded from search results.
Welcome Screen customization
: To provide additional custom tabs, implement [<include from="snippets.topic" element-id="ep"><var name="ep" value="WelcomeTabFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/WelcomeTabFactory.java) and register in `com.intellij.welcomeTabFactory"/></include>.
: To provide additional custom tabs, implement [`WelcomeTabFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/WelcomeTabFactory.java) and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.welcomeTabFactory"/></include>.
File Type association with the IDE
: To control file type association with the IDE in the operating system, implement [`OSFileIdeAssociation`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileTypes/OSFileIdeAssociation.java).
Reader Mode customization
: Implement [<include from="snippets.topic" element-id="ep"><var name="ep" value="ReaderModeProvider`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/actions/ReaderModeProvider.kt) and register in `com.intellij.readerModeProvider"/></include> to apply custom settings for files rendered in reader mode. Provide `com.intellij.codeInsight.actions.ReaderModeMatcher` to disable Reader Mode for particular set of files.
: Implement [`ReaderModeProvider`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/actions/ReaderModeProvider.kt) and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.readerModeProvider"/></include> to apply custom settings for files rendered in reader mode. Provide `com.intellij.codeInsight.actions.ReaderModeMatcher` to disable Reader Mode for particular set of files.
Text Editor customization
: Implement [<include from="snippets.topic" element-id="ep"><var name="ep" value="TextEditorCustomizer`](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorCustomizer.kt) and register in `com.intellij.textEditorCustomizer"/></include> to customize created editors.
: Implement [`TextEditorCustomizer`](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorCustomizer.kt) and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.textEditorCustomizer"/></include> to customize created editors.
### JavaScript Plugin 2020.3
@ -75,7 +75,7 @@ Support for WebP images
: The platform now bundles support for images in [WebP](https://en.wikipedia.org/wiki/WebP) format.
FileType mapping via hashbang (`#!`)
: Specify <include from="snippets.topic" element-id="ep"><var name="ep" value="hashBangs` attribute in `com.intellij.fileType"/></include>. [Issue](https://youtrack.jetbrains.com/issue/IDEA-175757)
: Specify `hashBangs` attribute in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.fileType"/></include>. [Issue](https://youtrack.jetbrains.com/issue/IDEA-175757)
Add information to About dialog
: Implement [<include from="snippets.topic" element-id="ep"><var name="ep" value="AboutPopupDescriptionProvider`](%gh-ic%/platform/platform-impl/src/com/intellij/ide/AboutPopupDescriptionProvider.kt) and register in `com.intellij.aboutPopupDescriptionProvider"/></include>.
@ -84,7 +84,7 @@ Previewing Intention/Quick Fix
: To support preview in intention popup, suitable [`FileModifier`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/FileModifier.java) must be provided (default implementation `FileModifier.getFileModifierForPreview()` works for most cases).
Delegate Run Anything/Terminal commands to IDE features
: Switch to matching IDE feature by implementing [<include from="snippets.topic" element-id="ep"><var name="ep" value="TerminalShellCommandHandler`](%gh-ic%/platform/execution-impl/src/com/intellij/terminal/TerminalShellCommandHandler.kt) (`com.intellij.terminal.shellCommandHandler"/></include>). [Blog post](https://blog.jetbrains.com/idea/2020/07/run-ide-features-from-the-terminal/)
: Switch to matching IDE feature by implementing [`TerminalShellCommandHandler`](%gh-ic%/platform/execution-impl/src/com/intellij/terminal/TerminalShellCommandHandler.kt) (<include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.terminal.shellCommandHandler"/></include>). [Blog post](https://blog.jetbrains.com/idea/2020/07/run-ide-features-from-the-terminal/)
Deprecating JavaFX in favor of JCEF
: We recommend switching to [JCEF](embedded_browser_jcef.md), please see [blog post](https://blog.jetbrains.com/platform/2020/07/javafx-and-jcef-in-the-intellij-platform/) for details.

View File

@ -81,7 +81,7 @@ Custom implementations are rarely required (it may be necessary, e.g., when a pr
Executor implementations are registered in the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.executor"/></include>.
[`ProgramRunner`](%gh-ic%/platform/execution/src/com/intellij/execution/runners/ProgramRunner.java) is responsible for the [execution workflow](#execution-workflow) of a `RunProfile` with a certain `Executor`.
<include from="snippets.topic" element-id="ep"><var name="ep" value="ProgramRunner` implementations are registered in the `com.intellij.programRunner"/></include>.
ProgramRunner` implementations are registered in the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.programRunner"/></include>.
[`ExecutionEnvironment`](%gh-ic%/platform/execution/src/com/intellij/execution/runners/ExecutionEnvironment.java) object aggregates all the objects and settings required to execute the process.
It is used by the `ProgramRunner.execute()` method.

View File

@ -276,4 +276,5 @@ See their Javadocs for the details.
### Providing Custom Macros
If the predefined list of macros is insufficient, a plugin can provide custom macros by extending [<include from="snippets.topic" element-id="ep"><var name="ep" value="Macro`](%gh-ic%/platform/macro/src/com/intellij/ide/macro/Macro.java) and registering it in the `com.intellij.macro"/></include>.
If the predefined list of macros is insufficient, a plugin can provide custom macros by extending [`Macro`](%gh-ic%/platform/macro/src/com/intellij/ide/macro/Macro.java) and
registering it in the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.macro"/></include>.

View File

@ -102,7 +102,7 @@ Can be [](indexing_and_psi_stubs.md#DumbAwareAPI) (2024.3+).
EP: `com.intellij.indexPatternSearch`
Additional places can be provided via [<include from="snippets.topic" element-id="ep"><var name="ep" value="IndexPatternSearch`](%gh-ic%/platform/indexing-api/src/com/intellij/psi/search/searches/IndexPatternSearch.java) registered in `com.intellij.indexPatternSearch"/></include>.
Additional places can be provided via [`IndexPatternSearch`](%gh-ic%/platform/indexing-api/src/com/intellij/psi/search/searches/IndexPatternSearch.java) registered in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.indexPatternSearch"/></include>.
### Context Info

View File

@ -145,7 +145,7 @@ Inside an injection, the following tags can be used:
#### Create an XML File to Load the Configuration
Create an XML file <path>myLanguageID-injections.xml</path> next to your <path>plugin.xml</path> that loads the above configuration.
Custom language authors also register their implementation of the <include from="snippets.topic" element-id="ep"><var name="ep" value="languageSupport"/></include> there.
Custom language authors also register their implementation of the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.languageSupport"/></include> there.
```xml
<idea-plugin>

View File

@ -41,7 +41,8 @@ To associate the file type in the IDE, specify one or more associations listed i
>
{style="warning"}
To register a file type, the plugin developer provides a subclass of [<include from="snippets.topic" element-id="ep"><var name="ep" value="FileTypeFactory`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/fileTypes/FileTypeFactory.java), which is registered via the `com.intellij.fileTypeFactory"/></include>.
To register a file type, the plugin developer provides a subclass of [`FileTypeFactory`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/fileTypes/FileTypeFactory.java), which is registered via
the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.fileTypeFactory"/></include>.
</tab>
</tabs>

View File

@ -10,7 +10,8 @@
</tldr>
To support the _Surround With_ action, the plugin needs to register one or more implementations of the [<include from="snippets.topic" element-id="ep"><var name="ep" value="SurroundDescriptor`](%gh-ic%/platform/lang-api/src/com/intellij/lang/surroundWith/SurroundDescriptor.java) interface in the `com.intellij.lang.surroundDescriptor"/></include>.
To support the _Surround With_ action, the plugin needs to register one or more implementations of the [`SurroundDescriptor`](%gh-ic%/platform/lang-api/src/com/intellij/lang/surroundWith/SurroundDescriptor.java) interface
in the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.lang.surroundDescriptor"/></include>.
Each of the surround descriptors defines a possible type of code fragment that can be surrounded - for example, one surround descriptor can handle surrounding expressions, and another can handle statements.
Each surround descriptor, in turn, contains an array of [`Surrounder`](%gh-ic%/platform/lang-api/src/com/intellij/lang/surroundWith/Surrounder.java) objects, defining specific templates which can be used for surrounding the selected code fragment (for example, _Surround With if_, _Surround With for_, and so on).

View File

@ -4,7 +4,7 @@
<link-summary>Exposing plugin's UI components' customization keys allowing theme developers to change your components look.</link-summary>
All available UI Customization Keys that can be used in [Custom Themes](themes_customize.md) must be defined in a dedicated <path>*.themeMetadata.json</path> file which is registered via <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.themeMetadataProvider"/></include>`com.intellij.themeMetadataProvider`.
All available UI Customization Keys that can be used in [Custom Themes](themes_customize.md) must be defined in a dedicated <path>*.themeMetadata.json</path> file which is registered via <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.themeMetadataProvider"/></include>.
The following minimal sample demonstrates all details required when exposing UI customization keys of your plugin's UI.

View File

@ -15,8 +15,8 @@ Plugin authors implement
[`DocumentationProvider`](%gh-ic%/platform/analysis-api/src/com/intellij/lang/documentation/DocumentationProvider.java)
to show documentation for particular [PSI elements](psi_elements.md).
Implementations of `DocumentationProvider` can be registered either at the `com.intellij.documentationProvider` or the
<include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.lang.documentationProvider"/></include> (EP).
Implementations of `DocumentationProvider` can be registered either at the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.documentationProvider"/></include> or
the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.lang.documentationProvider"/></include>.
It is recommended to use the latter one when creating documentation that targets a specific language because providers registered
as `com.intellij.lang.documentationProvider` will only be called for elements from that language.
This is the reason they require the `language` attribute when registering the EP in the <path>[plugin.xml](plugin_configuration_file.md)</path>.

View File

@ -62,7 +62,8 @@ Define [`SimpleLanguageCodeStyleSettingsProvider`](%gh-sdk-samples-master%/simpl
## Register the Language Code Style Settings Provider
The <include from="snippets.topic" element-id="ep"><var name="ep" value="SimpleLanguageCodeStyleSettingsProvider` implementation is registered with the IntelliJ Platform in the plugin configuration file using the `com.intellij.langCodeStyleSettingsProvider"/></include>.
The ``SimpleLanguageCodeStyleSettingsProvider` implementation is registered with the IntelliJ Platform in the plugin configuration file
using the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.langCodeStyleSettingsProvider"/></include>.
```xml
<extensions defaultExtensionNs="com.intellij">

View File

@ -29,7 +29,7 @@ This rudimentary completion contributor always adds "Hello" to the completion va
## Register the Completion Contributor
The <include from="snippets.topic" element-id="ep"><var name="ep" value="SimpleCompletionContributor` implementation is registered in the plugin configuration file using the `com.intellij.completion.contributor"/></include> and specifying `language="Simple"`.
The `SimpleCompletionContributor` implementation is registered in the plugin configuration file using the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.completion.contributor"/></include> and specifying `language="Simple"`.
```xml
<extensions defaultExtensionNs="com.intellij">

View File

@ -55,7 +55,7 @@ Create [`SimpleFormattingModelBuilder`](%gh-sdk-samples-master%/simple_language_
## Register the Formatter
The <include from="snippets.topic" element-id="ep"><var name="ep" value="SimpleFormattingModelBuilder` implementation is registered with the IntelliJ Platform in the plugin configuration file using the `com.intellij.lang.formatter"/></include>.
The ``SimpleFormattingModelBuilder` implementation is registered with the IntelliJ Platform in the plugin configuration file using the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.lang.formatter"/></include>.
```xml
<extensions defaultExtensionNs="com.intellij">