more EP links cleanup

This commit is contained in:
Yann Cébron 2025-04-23 13:20:32 +02:00
parent b02094a0cb
commit c29c93585a
6 changed files with 11 additions and 11 deletions

View File

@ -86,7 +86,7 @@ For the latter, reporting is disabled by default — instead, there's an option
To let users report such errors to the vendor, plugins can use one of the solutions:
- Use [JetBrains Exception Analyzer (EA)](https://plugins.jetbrains.com/docs/marketplace/exception-analyzer.html) that sends errors to the backend provided by JetBrains (2023.3+).
- Implement custom [`ErrorReportSubmitter`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/diagnostic/ErrorReportSubmitter.java) registered in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.errorHandler"/></include>.
See [IntelliJ Platform Explorer](https://jb.gg/ipe?extensions=com.intellij.errorHandler) for existing implementations — ranging from pre-filling web-based issue tracker forms to fully automated submission to log monitoring systems.
Existing implementations range from pre-filling web-based issue tracker forms to fully automated submission to log monitoring systems.
This [tutorial](https://www.plugin-dev.com/intellij/general/error-reporting/) also offers a working solution for using _Sentry_.
The red exclamation notification icon in the status bar is controlled with the `idea.fatal.error.notification` system property.

View File

@ -121,4 +121,5 @@ Generally, the word index should be accessed indirectly by using helper methods
## Additional Index Roots
To add additional files/directories to be indexed, implement [`IndexableSetContributor`](%gh-ic%/platform/indexing-api/src/com/intellij/util/indexing/IndexableSetContributor.java) and register in [`com.intellij.indexedRootsProvider`](https://jb.gg/ipe?extensions=com.intellij.indexedRootsProvider) extension point.
To add additional files/directories to be indexed, implement [`IndexableSetContributor`](%gh-ic%/platform/indexing-api/src/com/intellij/util/indexing/IndexableSetContributor.java)
and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.indexedRootsProvider"/></include>.

View File

@ -241,10 +241,10 @@ The return value of `createIndentOptions()` sets the default indent size.
Use [`LanguageFormattingRestriction`](%gh-ic%/platform/code-style-api/src/com/intellij/lang/LanguageFormattingRestriction.java) to restrict (automatic) code formatting for given contexts.
## External Code Formatter
<primary-label ref="2021.3"/>
_2021.3_
Register [`AsyncDocumentFormattingService`](%gh-ic%/platform/code-style-api/src/com/intellij/formatting/service/AsyncDocumentFormattingService.java) implementation in the [`com.intellij.formattingService`](https://jb.gg/ipe?extensions=com.intellij.formattingService) extension point to invoke external formatter instead of IDE's builtin formatter.
Register [`AsyncDocumentFormattingService`](%gh-ic%/platform/code-style-api/src/com/intellij/formatting/service/AsyncDocumentFormattingService.java) implementation
in the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.formattingService"/></include> to invoke external formatter instead of IDE's builtin formatter.
**Example:**
[`ShExternalFormatter`](%gh-ic%/plugins/sh/core/src/com/intellij/sh/formatter/ShExternalFormatter.java) from _Shell Script_ plugin

View File

@ -58,8 +58,6 @@ Sources of a plugin for External Builder should be put in a separate module.
By convention, such a module has a name '...-jps-plugin', and its sources are placed under the <path>jps-plugin</path> directory in the main plugin directory.
Use <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.compileServer.plugin"/></include> to add the plugin to the classpath of the external build process, the plugin JAR should be named <path>\$JPS_module_name\$.jar</path>. <ui-path>Build | Prepare Plugin Module for Deployment</ui-path> action will automatically pack the 'jps-plugin' part to a separate JAR accordingly.
See [IntelliJ Platform Explorer](https://jb.gg/ipe?extensions=com.intellij.compileServer.plugin) for samples.
### Debugging a Plugin for External Builder
**If your test IDE is IntelliJ IDEA 16.0 or newer**

View File

@ -96,7 +96,7 @@ Processing project data built on an external system config basis can be performe
It is a strategy which knows how to manage particular `ExternalEntityData`.
For example, when we want to import a project from an external model, we can start with the top level `DataNode` which references project info and then import its data using the corresponding service.
Custom services can be registered via the [`com.intellij.externalProjectDataService`](https://jb.gg/ipe?extensions=com.intellij.externalProjectDataService) extension point.
Custom services can be registered via the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.externalProjectDataService"/></include>.
The good thing is that we can separate project parsing and management here.
That means that a set of `DataNode`, `Key` and `ProjectDataServices` can be introduced for a particular technology and then every external system integration can build corresponding data if necessary using it.
@ -154,8 +154,9 @@ Then register the instance with `ExternalSystemProjectTracker` to start tracking
<primary-label ref="2020.1"/>
The icon for reload notification can be specified per external system.
Implement [`ExternalSystemIconProvider`](%gh-ic%/platform/external-system-api/src/com/intellij/openapi/externalSystem/ui/ExternalSystemIconProvider.kt) and register via [com.intellij.externalIconProvider](https://jb.gg/ipe?extensions=com.intellij.externalIconProvider) extension point in <path>[plugin.xml](plugin_configuration_file.md)</path>.
Alternatively, set `reloadIcon` field external system implements `ExternalSystemIconProvider` directly.
Implement [`ExternalSystemIconProvider`](%gh-ic%/platform/external-system-api/src/com/intellij/openapi/externalSystem/ui/ExternalSystemIconProvider.kt)
and register in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.externalIconProvider"/></include> in <path>[plugin.xml](plugin_configuration_file.md)</path>.
Alternatively, set the `reloadIcon` field if the external system implements `ExternalSystemIconProvider` directly.
## Settings

View File

@ -48,7 +48,7 @@ This can be achieved by implementing this EP in the following way:
Looking at other implementations can be an effective way to get a better understanding of how this EP works.
To get further insight into this EP, you may want to take a look at [`DocTagSelectioner`](%gh-ic%/java/java-frontback-impl/src/com/intellij/codeInsight/editorActions/wordSelection/DocTagSelectioner.java).
It provides the ability to select tag names like `@param` in Javadoc comments.
Additionally, the [IntelliJ Platform Explorer](https://jb.gg/ipe?extensions=com.intellij.extendWordSelectionHandler) provides a list of open-source plugins with implementations of the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.extendWordSelectionHandler"/></include>.
Browse the list of open-source plugins with implementations of the <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.extendWordSelectionHandler"/></include>.
There are also some important places in the IntelliJ Platform to add breakpoints during debugging.
When _Extend Selection_ is called by the user, it is handled by [`SelectWordHandler`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/editorActions/SelectWordHandler.java).