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, intellij.python.community.impl.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.