From 3f2091126323ca6c3016ce48b406bb3af7ec469a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Wed, 19 Mar 2025 15:55:35 +0100 Subject: [PATCH] (various): fix - use snippet for EP with link to IPE --- topics/appendix/api_notable/api_notable_list_2020.md | 12 ++++++------ topics/basics/execution/execution.md | 2 +- topics/basics/execution/run_configurations.md | 3 ++- .../additional_minor_features.md | 2 +- .../custom_language_support/language_injection.md | 2 +- .../custom_language_support/registering_file_type.md | 3 ++- .../custom_language_support/surround_with.md | 3 ++- topics/reference_guide/themes_metadata.md | 2 +- topics/tutorials/code_documentation.md | 4 ++-- .../custom_language_support/code_style_settings.md | 3 ++- .../completion_contributor.md | 2 +- .../tutorials/custom_language_support/formatter.md | 2 +- 12 files changed, 22 insertions(+), 18 deletions(-) diff --git a/topics/appendix/api_notable/api_notable_list_2020.md b/topics/appendix/api_notable/api_notable_list_2020.md index cccb3aa38..7cbd2dea4 100644 --- a/topics/appendix/api_notable/api_notable_list_2020.md +++ b/topics/appendix/api_notable/api_notable_list_2020.md @@ -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 [ 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 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): `` works now for [``](plugin_configuration_file.md#idea-plugin__actions__group) as well, [``](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 [. +: To provide additional custom tabs, implement [`WelcomeTabFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/WelcomeTabFactory.java) and register in . 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 [ 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 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 [ to customize created editors. +: Implement [`TextEditorCustomizer`](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorCustomizer.kt) and register in 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 . [Issue](https://youtrack.jetbrains.com/issue/IDEA-175757) +: Specify `hashBangs` attribute in . [Issue](https://youtrack.jetbrains.com/issue/IDEA-175757) Add information to About dialog : Implement [. @@ -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 [). [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) (). [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. diff --git a/topics/basics/execution/execution.md b/topics/basics/execution/execution.md index 0a1987caf..ec4df05d4 100644 --- a/topics/basics/execution/execution.md +++ b/topics/basics/execution/execution.md @@ -81,7 +81,7 @@ Custom implementations are rarely required (it may be necessary, e.g., when a pr Executor implementations are registered in the . [`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`. -. +ProgramRunner` implementations are registered in the . [`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. diff --git a/topics/basics/execution/run_configurations.md b/topics/basics/execution/run_configurations.md index c149b943e..1efbdaae0 100644 --- a/topics/basics/execution/run_configurations.md +++ b/topics/basics/execution/run_configurations.md @@ -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 [. +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 . diff --git a/topics/reference_guide/custom_language_support/additional_minor_features.md b/topics/reference_guide/custom_language_support/additional_minor_features.md index 85f566379..7f8851d06 100644 --- a/topics/reference_guide/custom_language_support/additional_minor_features.md +++ b/topics/reference_guide/custom_language_support/additional_minor_features.md @@ -102,7 +102,7 @@ Can be [](indexing_and_psi_stubs.md#DumbAwareAPI) (2024.3+). EP: `com.intellij.indexPatternSearch` -Additional places can be provided via [. +Additional places can be provided via [`IndexPatternSearch`](%gh-ic%/platform/indexing-api/src/com/intellij/psi/search/searches/IndexPatternSearch.java) registered in . ### Context Info diff --git a/topics/reference_guide/custom_language_support/language_injection.md b/topics/reference_guide/custom_language_support/language_injection.md index 244dcc08f..5d5bf466f 100644 --- a/topics/reference_guide/custom_language_support/language_injection.md +++ b/topics/reference_guide/custom_language_support/language_injection.md @@ -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 myLanguageID-injections.xml next to your plugin.xml that loads the above configuration. -Custom language authors also register their implementation of the there. +Custom language authors also register their implementation of the there. ```xml diff --git a/topics/reference_guide/custom_language_support/registering_file_type.md b/topics/reference_guide/custom_language_support/registering_file_type.md index 15643f4a1..e19c9326a 100644 --- a/topics/reference_guide/custom_language_support/registering_file_type.md +++ b/topics/reference_guide/custom_language_support/registering_file_type.md @@ -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 [. +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 . diff --git a/topics/reference_guide/custom_language_support/surround_with.md b/topics/reference_guide/custom_language_support/surround_with.md index 22519a32f..bfc533f19 100644 --- a/topics/reference_guide/custom_language_support/surround_with.md +++ b/topics/reference_guide/custom_language_support/surround_with.md @@ -10,7 +10,8 @@ -To support the _Surround With_ action, the plugin needs to register one or more implementations of the [. +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 . 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). diff --git a/topics/reference_guide/themes_metadata.md b/topics/reference_guide/themes_metadata.md index b9d849f74..df55c8eee 100644 --- a/topics/reference_guide/themes_metadata.md +++ b/topics/reference_guide/themes_metadata.md @@ -4,7 +4,7 @@ Exposing plugin's UI components' customization keys allowing theme developers to change your components look. -All available UI Customization Keys that can be used in [Custom Themes](themes_customize.md) must be defined in a dedicated *.themeMetadata.json file which is registered via `com.intellij.themeMetadataProvider`. +All available UI Customization Keys that can be used in [Custom Themes](themes_customize.md) must be defined in a dedicated *.themeMetadata.json file which is registered via . The following minimal sample demonstrates all details required when exposing UI customization keys of your plugin's UI. diff --git a/topics/tutorials/code_documentation.md b/topics/tutorials/code_documentation.md index ba3899f75..1f8dd7507 100644 --- a/topics/tutorials/code_documentation.md +++ b/topics/tutorials/code_documentation.md @@ -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 - (EP). +Implementations of `DocumentationProvider` can be registered either at the or +the . 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 [plugin.xml](plugin_configuration_file.md). diff --git a/topics/tutorials/custom_language_support/code_style_settings.md b/topics/tutorials/custom_language_support/code_style_settings.md index a080aae74..dcb541b1b 100644 --- a/topics/tutorials/custom_language_support/code_style_settings.md +++ b/topics/tutorials/custom_language_support/code_style_settings.md @@ -62,7 +62,8 @@ Define [`SimpleLanguageCodeStyleSettingsProvider`](%gh-sdk-samples-master%/simpl ## Register the Language Code Style Settings Provider -The . +The ``SimpleLanguageCodeStyleSettingsProvider` implementation is registered with the IntelliJ Platform in the plugin configuration file +using the . ```xml diff --git a/topics/tutorials/custom_language_support/completion_contributor.md b/topics/tutorials/custom_language_support/completion_contributor.md index db10c33c0..196057564 100644 --- a/topics/tutorials/custom_language_support/completion_contributor.md +++ b/topics/tutorials/custom_language_support/completion_contributor.md @@ -29,7 +29,7 @@ This rudimentary completion contributor always adds "Hello" to the completion va ## Register the Completion Contributor -The and specifying `language="Simple"`. +The `SimpleCompletionContributor` implementation is registered in the plugin configuration file using the and specifying `language="Simple"`. ```xml diff --git a/topics/tutorials/custom_language_support/formatter.md b/topics/tutorials/custom_language_support/formatter.md index c62a16dc3..f053eccd9 100644 --- a/topics/tutorials/custom_language_support/formatter.md +++ b/topics/tutorials/custom_language_support/formatter.md @@ -55,7 +55,7 @@ Create [`SimpleFormattingModelBuilder`](%gh-sdk-samples-master%/simple_language_ ## Register the Formatter -The . +The ``SimpleFormattingModelBuilder` implementation is registered with the IntelliJ Platform in the plugin configuration file using the . ```xml