Files
zed/docs/src/finding-navigating.md
T
ec312b2701 Add LSP call hierarchy modal (#53239)
<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>
2026-08-27 16:21:41 +00:00

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.

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}