* 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
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.