* [webhelp] Fixes for TXP00152, TXP00002, test build 27 Jul 22:26 * [webhelp] Fixes for Part #4 TXP00010, EXCEPT decimal numbers in section titles * [webhelp] Fixes for Part #5 TXP00017 * [webhelp] Fixes for Part #4 TXP00010 - removed numbers from page section titles in "Custom Language Support Tutorial" and "Testing a Custom Language Plugin". * [webhelp] Removed numbers from page section titles in rest of project *.md files. * [new webhelp] Build #44 changes * [new webhelp] Maintenance merge from master * [new webhelp] Add placeholder file for webhelp import. * [webhelp] Correct redirects for file name changes * [webhelp] TOC not needed in webhelp * [format] {:toc} not needed for webhelp * add {:disable-links} to ensure demo links are not interpreted as real links. * Put all badges on the same line to simplify composition. * formatter.md: fix upsource link * fix some links * api_changes_list.md: remove note * migrate to webhelp - initial * fix GH edit URL * remove sdkdocs-template setup in VCS config * remove recently_updated.md * restore COC/CONTRIBUTING.md * api_changes_list.md: remove note * useful_links.md: IPE Co-authored-by: JohnHake <john.hake@jetbrains.com> Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
2.2 KiB
This API is available starting from 2020.3 and currently in development and thus in experimental state.
{type="warning"}
The Go to Declaration or Usages action is performed in several steps.
Direct Navigation
Direct navigation is the navigation from PsiElement
to another PsiElement
,
such as navigation from break
keyword to the end of a loop in Java, without showing any popups.
To provide PsiElement
for direct navigation, implement and register
DirectNavigationProvider
.
Symbol Navigation
If there is no Direct navigation available under the caret, then the IntelliJ Platform proceeds with Symbol
navigation.
In this step the IntelliJ Platform computes the navigation targets based on target symbols,
which it obtains by resolving a reference.
If there are several target symbols or several navigation targets defined for a symbol,
then the IDE shows the navigation popup to ask the user to choose where to go.
The NavigationTarget
is essentially a pair of a Navigatable
and
a TargetPopupPresentation
instances (where to go and what to show in the popup).
To provide navigation targets by a Symbol
, either:
- implement and register
SymbolNavigationProvider
; - or implement
NavigatableSymbol
in theSymbol
.
Showing Usages
If there are no navigation targets available, then the IntelliJ Platform starts finding usages of the target symbol obtained by resolving a reference or from a declaration.