Editor

Code Navigation & Refactoring

Move through a codebase by meaning, not by file tree — and make sweeping changes with confidence that every reference gets updated.

Getting around

ActionWindows / LinuxmacOS
Go to DefinitionF12F12
Peek Definition (inline, no navigation)Alt+F12Option+F12
Go to ReferencesShift+F12Shift+F12
Go to Symbol in FileCtrl+Shift+OCmd+Shift+O
Go to Symbol in WorkspaceCtrl+TCmd+T
Navigate back / forwardAlt+/Ctrl+-/Ctrl+Shift+-

Peek instead of jump

Peek Definition (Alt/Option + F12) opens the definition in an inline panel without leaving your current file or losing your place — ideal for a quick check of a function signature before continuing to type.

Renaming and refactoring

Press F2 on any symbol to rename it everywhere it's referenced across your workspace — not just a text find-and-replace, but a language-aware rename that understands scope, so a local variable named data in one function is never touched by renaming a data in another.

Beyond rename, the lightbulb icon that appears next to a line with an available fix or suggestion (or Ctrl/Cmd + .) opens a menu of quick fixes and refactorings for that spot — extracting a selection into its own function or variable, converting a function to an arrow function, adding missing imports, and more, depending on what the language server for that file supports.

Multi-root workspaces and navigation

In a multi-root workspace, Go to Definition and Find All References search across every root folder, not just the one the current file belongs to — so navigating from an app package into a shared library package in the same workspace works exactly the same as navigating within a single folder.

The breadcrumb trail just above the editor (toggle with View → Appearance → Show Breadcrumbs) shows your current file's path and, for supported languages, your position within nested symbols — click any segment to jump to a sibling file or symbol without opening a picker.