Repository navigation
Screens
The 56 design mocks from the design canvas, grouped by the wiki page that documents each one. Tests cite them by screen id,
e.g. @covers screen:file-names-only (mocks.md).
Each screen's block on that page shows the mock and, under The built panel, a screenshot of the real panel. Screens 16 and 18 are VS Code's own editor and Settings, which the screenshot tool can't draw, so they have no screenshot.
Installing and the first run.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 15 | First run: pick a shortcut, index repos | first-run |
M5 | ✓ screenshot |
How words, regexes, case and logic match.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 1 | Plain text: names and contents | plain-text-search |
M1 | ✓ screenshot |
| 7 | AND / OR / ( ) / - / since: in history |
boolean-history |
M3 | ✓ screenshot |
| 8 | case: + /regex/ + lang: |
case-regex-language |
M1 | ✓ screenshot |
| 28 | word:yes keeps whole words |
whole-words |
1.1 | ✓ screenshot |
| 29 | case:smart matches case when the query has a capital |
smart-case |
1.1 | ✓ screenshot |
| 33 | match:fuzzy finds file names by their letters in order; without it, a note offers them |
fuzzy-file-names |
2.1 | ✓ screenshot |
| 39 | Multiline regex: a regex with \n matches across lines, one result per match |
multiline-regex |
1.2 | ✓ screenshot |
| 57 | Comments, quoted text or code: in:comments, in:strings and in:code keep each match by where it is; -in: leaves one place out |
comments-strings |
2.1 | ✓ screenshot |
Narrowing by path, repo, language, file state, owner and VS Code's excludes.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 2 | f: path regex + text |
path-scoped-search |
M1 | ✓ screenshot |
| 12 | type:file + lang: |
file-names-only |
M2 | ✓ screenshot |
| 26 | is:test keeps test files |
test-files |
1.1 | ✓ screenshot |
| 37 | -is:generated / -is:vendored leave tool-written and third-party files out |
generated-vendored |
1.2 | ✓ screenshot |
| 42 | owner: keeps the files a team owns in CODEOWNERS |
owner-filter |
1.2 | ✓ screenshot |
| 52 | VS Code's files.exclude and search.exclude hide results too; a note counts them, and Show them adds excludes:no |
editor-excludes |
2.1 | ✓ screenshot |
Definitions, uses and code by its shape.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 9 | sym: definitions |
symbol-definitions |
M4 | ✓ screenshot |
| 35 | kind: keeps one kind of definition; ref: finds a name's uses |
symbol-kinds |
1.1 | ✓ screenshot |
| 45 | Uses inside definitions: kind: with ref:, content: or struct: lists each line inside the definitions it keeps, naming the one it is in |
uses-in-definitions |
2.1 | ✓ screenshot |
| 40 | struct: finds code by its shape: a template's holes take any code, over lines |
structural-search |
1.2 | ✓ screenshot |
Commits, time windows and past revisions.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 3 | author: + f: + text → commit diffs |
author-history |
M3 | ✓ screenshot |
| 10 | since: on current files |
since-on-files |
M4 | ✓ screenshot |
| 11 | msg:"phrase" + repo: + count: |
message-repo-count |
M3 | ✓ screenshot |
| 23 | Bare words match commit messages too | words-in-messages |
M3 | ✓ screenshot |
| 27 | author: + is:test → the test changes in commits |
test-history |
1.1 | ✓ screenshot |
| 34 | type:added finds the commits that added a line |
added-removed-lines |
1.1 | ✓ screenshot |
| 41 | at: searches the files as they were at a tag, branch, commit or time |
past-revision |
1.2 | ✓ screenshot |
Order, counts, facets, context lines and syntax colors.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 24 | Best match first: definitions and names first, tests last | ranked-results |
1.1 | ✓ screenshot |
| 25 | order:file keeps path order |
path-order |
1.1 | ✓ screenshot |
| 30 | Facets — counts by repo, language and folder (author and month for commits) narrow the results | result-facets |
1.1 | ✓ screenshot |
| 36 | Context lines: a few lines around each code match, merged when they touch | context-lines |
1.2 | ✓ screenshot |
| 43 | Syntax colors and whitespace: code in the theme's colors, by VS Code's grammars | syntax-colors |
2.1 | ✓ screenshot |
| 54 | Recently changed first: the order name above the results is a menu, with an arrow for the direction; each code result says when its file changed | recent-order |
2.1 | ✓ screenshot |
Query errors and their fixes.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 13 | Query errors with fixes | query-errors |
M1 | ✓ screenshot |
The empty box, pins, watches, opening, Replace and Help.
What the box suggests after each operator.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 5 | Autocomplete: operators | operator-suggestions |
M2 | ✓ screenshot |
| 6 | Autocomplete: author values | value-suggestions |
M3 | ✓ screenshot |
| 19 | Values: every author for author: |
author-values |
M3 | ✓ screenshot |
| 20 | Values: time windows for since: |
since-values |
M2 | ✓ screenshot |
| 21 | Values: file types and folders for f: |
path-values |
M2 | ✓ screenshot |
| 22 | Values: repo:, lang:, type:, kind:, case:, word:, count:, order:, is:, sym:, msg: |
other-values |
M2 | ✓ screenshot |
Claude Code, Copilot and the Terminal searching with Spelunk.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 56 | Agents and the terminal: the spelunk command and Claude Code or Copilot search the same index, live from VS Code or from the saved index |
agent-access |
2.1 | ✓ screenshot |
Settings in VS Code.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 18 | Settings in VS Code | settings |
M5 | VS Code's own UI |
While a repo is still indexing.
| # | Screen | Screen id | Milestone | Built |
|---|---|---|---|---|
| 14 | No results while indexing | no-results-while-indexing |
M4 | ✓ screenshot |
Next: Contributing: make your first change.
More in the repo: docs/ · CONTRIBUTING.md · Design canvas
Start here
Query reference
- All operators
- Words, regex and logic
- Files and repos
- Definitions and code shape
- Commits and time
- Results and ranking
- Error index
The panel
How it works
Contributing
- Your first change
- Code map: Daemon · Extension Host · Webview
- Testing
- Screens