Code navigation
This feature is only available in Sourcebot cloud or with an active Enterprise license when self-hosting. Please add your license key to activate it.
Code navigation allows you to jump between symbol definition and references when viewing source files in Sourcebot. This feature is enabled automatically when a valid license key is present and works with all popular programming languages.
Features
Feature | Description |
---|---|
Hover popover | Hovering over a symbol reveals the symbol’s definition signature as a inline preview. |
Go to definition | Clicking the “go to definition” button in the popover or clicking the symbol name navigates to the symbol’s definition. |
Find references | Clicking the “find all references” button in the popover lists all references in the explore panel. |
Explore panel | Lists all references and definitions for the symbol selected in the popover. |
How does it work?
Code navigation is search-based, meaning it uses the same code search engine and query language to estimate a symbol’s references and definitions. We refer to these estimations as “search heuristics”. We have two search heuristics to enable the following operations:
Find references
Given a symbolName
, along with information about the file the symbol is contained within (git_revision
, and language
), runs the following search:
Find definitions
Given a symbolName
, along with information about the file the symbol is contained within (git_revision
, and language
), runs the following search:
Note that the sym:
prefix is used to filter the search by symbol definitions. These are created at index time by universal ctags.