Yann Cébron 5d4d1d75e9
2024.2 release (#1347)
* switch to 242, update gh-ic links

* fix link

* fix link

* fix link

* fix link

* regen EP lists

still some diff between 242 and EAP8

* convert gh-ic-master links

* GH code-samples: update PV IDE versions

* code samples: adjust target IDE&since/until values

* regen EP lists from release branch

* intellij_community_plugins_extension_point_list.md: fix duplicate heading

* intellij_community_plugins_extension_point_list.md: fix DevKit.lang.visitorProviderForRBCInspection EP

* GH: update PV versions

* 2024.2 GA
2024-08-07 09:59:03 +02:00

2.3 KiB

Documentation

Product Help: Quick Documentation

Documentation for code elements inside the editor.

Quick Documentation helps users by showing documentation, e.g., for classes, functions, or methods inside the editor. Plugin authors implement DocumentationProvider to show documentation for particular PSI elements.

Implementations of DocumentationProvider can be registered either at the com.intellij.documentationProvider or the com.intellij.lang.documentationProvider extension point (EP). 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. The bigger picture here is that documentation providers co-exist and if there is more than one provider for the same element, the first one that returns a value different from null wins.

Although discouraged, the ordering of documentation providers can be influenced by using the order attribute when registering the extension. For instance, PythonCore plugin.xml uses the following to call the external documentation provider before the default one (registered with id="pythonDocumentationProvider"):

<lang.documentationProvider
  language="Python"
  implementationClass="com.jetbrains.python.documentation.PythonExternalDocumentationProvider"
  order="before pythonDocumentationProvider"/>

For detailed instructions on how to implement a DocumentationProvider, please refer to the Custom Language Support section and the descriptions in the Custom Language Support Tutorial.