<img width="1128" height="953" alt="image" src="https://github.com/user-attachments/assets/b2017c0a-e25a-49d7-9342-d074014d085c" /> Closes #14203 Release Notes: - Initial Call Hierarchy support in Zed --------- Co-authored-by: Alexey Olshanskiy <gh@aohoy.dev> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
4.1 KiB
title, description
| title | description |
|---|---|
| Finding and Navigating Code - Zed | Navigate your codebase in Zed with file finder, project search, go to definition, symbol search, and the command palette. |
Finding & Navigating
Zed provides several ways to move around your codebase quickly. Here's an overview of the main navigation tools.
Command Palette
The Command Palette ({#kb command_palette::Toggle}) is your gateway to almost everything in Zed. Type a few characters to filter commands, then press Enter to execute.
Learn more about the Command Palette →
Project Panel
The Project Panel ({#kb project_panel::ToggleFocus}) shows a tree view of your workspace's files and directories. Browse, create, rename, move, and delete files without leaving the editor. It also surfaces git status and diagnostics at a glance.
Learn more about the Project Panel →
File Finder
Open any file in your project with {#kb file_finder::Toggle}. Type part of the filename or path to narrow results.
Text Finder
Quickly find any string in your project and open the file with {#kb project_search::OpenTextFinder}. Changed your mind and want a more detailed search with extra filters? Move to the project search using the button in the Actions menu in the right bottom corner.
Project Search
Search across all files with {#kb pane::DeploySearch}. Type the query in the search field, then press Enter to run the search.
Results appear in a multibuffer, letting you edit matches in place.
Go to Definition
Jump to where a symbol is defined with {#kb editor::GoToDefinition} (or Cmd+Click / Ctrl+Click). If there are multiple definitions, they open in a multibuffer.
Go to Symbol
- Current file: {#kb outline::Toggle} opens an outline of symbols in the active file
- Entire project: {#kb project_symbols::Toggle} searches symbols across all files
Call Hierarchy
With the cursor on a function, {#action call_hierarchy::ShowIncomingCalls} ({#kb call_hierarchy::ShowIncomingCalls}) lists the functions that call it, and {#action call_hierarchy::ShowOutgoingCalls} lists the functions it calls.
Both open a picker; selecting an entry jumps to the call site, and the secondary confirm opens it in an adjacent pane.
While the picker is open, {#action call_hierarchy::ToggleDirection} switches between callers and callees, {#action menu::SelectChild} re-roots the hierarchy at the selected function to explore one level deeper, and {#action menu::SelectParent} steps back up; the picker's footer shows the corresponding key bindings.
Both actions are also available in the editor's right-click menu.
The modal's width can be changed via the call_hierarchy.modal_max_width setting.
This requires the language server to support call hierarchy.
Outline Panel
The Outline Panel ({#kb outline_panel::ToggleFocus}) shows a persistent tree view of symbols in the current file. It's especially useful with multibuffers for navigating search results or diagnostics.
Learn more about the Outline Panel →
Tab Switcher
Quickly switch between open tabs with {#kb tab_switcher::Toggle}. Tabs are sorted by recent use—keep holding Ctrl and press Tab to cycle through them.
Learn more about the Tab Switcher →
Quick Reference
| Task | Keybinding |
|---|---|
| Command Palette | {#kb command_palette::Toggle} |
| Open file | {#kb file_finder::Toggle} |
| Project search | {#kb pane::DeploySearch} |
| Text search picker | {#kb project_search::OpenTextFinder} |
| Go to definition | {#kb editor::GoToDefinition} |
| Find references | {#kb editor::FindAllReferences} |
| Symbol in file | {#kb outline::Toggle} |
| Symbol in project | {#kb project_symbols::Toggle} |
| Outline Panel | {#kb outline_panel::ToggleFocus} |
| Tab Switcher | {#kb tab_switcher::Toggle} |
| Project Panel | {#kb project_panel::ToggleFocus} |