Omnigrep
Blazing-fast omnibox code search for VS Code / Antigravity, powered by ripgrep, with a
query language inspired by Google Code Search.

Press ⇧⌘F (mac) / Ctrl+Shift+F (win/linux) or click the 🔍 icon in the editor
title bar (top right) to open the search box. Type, arrow through the top matches with
Up/Down (the file previews as you move), press Enter to jump there, Escape to
go back to where you were.
Query syntax
| Syntax |
Meaning |
hello world |
Lines matching both regexes (in any order) |
-term |
Exclude lines matching term |
"foo.bar(x)" |
Literal text (regex metacharacters escaped; spaces allowed) |
f:async f:ts$ |
Only files whose path matches all f: regexes |
-f:test |
Exclude files whose path matches |
case:yes / case:no |
Force case sensitivity (default: smart case) |
t:ts / lang:rust |
Restrict to a ripgrep file type (rg --type-list) |
-t:js |
Exclude a ripgrep file type |
sym:UserService / s: |
Workspace symbol search (bare terms filter names, f: filters paths) |
near:3 |
Terms may be within 3 lines of each other instead of on the same line |
content:f:oo |
Escape hatch: search content for text that looks like a filter |
f:async f:ts$ hello → find hello in any .ts file with async in its path.
A query with only file filters (e.g. f:route f:ts$) becomes a fast file finder.
In action
Symbol search — sym:Name (or s:) jumps straight to definitions:

Proximity — near:N finds terms within N lines of each other:

▶ Watch the demo (MP4)
Defaults
- Searches only the open workspace folder(s).
- Respects
.gitignore (toggle with the eye icon in the search box, or the
omnigrep.respectGitignore setting).
- Shows the top 5 matches (
omnigrep.maxResults), ranked: whole-word hits beat
substrings, shallow paths beat deep ones, recently modified files float up, and
test/vendor/build output sinks. Up to omnigrep.rankPoolSize (200) candidates are
scanned to pick the top 5; disable with omnigrep.ranking: false for raw scan order.
- Results are grouped by file with a separator row per file
(
omnigrep.groupByFile).
- Smart case: insensitive unless your pattern contains an uppercase letter.
In-box controls (top right of the search box)
- Case cycle — the icon shows the current mode: wand = smart, Aa = sensitive,
text = insensitive (session-only)
- 👁 — include/exclude gitignored files (session-only)
- ⧉ preview toggle — stop/allow opening files as you arrow through results
(session-only; persistent default is
omnigrep.previewOnNavigate)
- 📌 — pin/unpin the current query (pinned searches show in the empty box)
- ↗ — open the current query in the native Search panel (full result list, replace)
- ⚙ — open Omnigrep settings
- Each result row has copy relative path and open to the side buttons.
While you arrow through results, the match is revealed in the lower third of the editor
so the dropdown doesn't cover it.
- Pinned searches + history per workspace: open the box empty to see pinned queries
and recent ones. Pin from the title bar 📌 or a history row's pin button. Delete a single
recent search with its ✕ button, or clear all via the "Clear search history" row (also
the Omnigrep: Clear Search History command).
- Omnigrep: Search Selection or Word (⇧⌥⌘F) pre-fills the box with the current
selection (or word under cursor) as a literal.
- The title bar shows match count and elapsed milliseconds;
20+ means the scan stopped
early at your result cap.
Portability
No native dependencies and nothing to install: Omnigrep uses the ripgrep binary bundled
inside VS Code / Antigravity itself, falling back to rg on your PATH. You can pin a
specific binary with omnigrep.ripgrepPath.
Settings
All under omnigrep.*: maxResults, ranking, rankPoolSize, groupByFile,
debounceMs, ripgrepPath, respectGitignore, includeHidden, caseMode,
previewOnNavigate, previewDebounceMs, maxScannedMatches, historySize,
extraRipgrepArgs.
Keybinding note
⇧⌘F replaces the built-in Search sidebar binding while this extension is installed. To
keep both, rebind omnigrep.open in Keyboard Shortcuts.
Build from source
npm install
npm test # compiles + runs unit/integration tests
npm run package # produces omnigrep-<version>.vsix
Install the .vsix via the Extensions view → … menu → Install from VSIX, or:
antigravity --install-extension omnigrep-0.1.0.vsix