mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
more EP links cleanup
This commit is contained in:
parent
b02094a0cb
commit
c29c93585a
@ -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.
|
||||
|
@ -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>.
|
||||
|
@ -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
|
||||
|
@ -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**
|
||||
|
@ -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
|
||||
|
||||
|
@ -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).
|
||||
|
Loading…
x
Reference in New Issue
Block a user