Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Holdens SearchNew to Visual Studio Code? Get it now.
Holdens Search

Holdens Search

Bent Holden

|
2 installs
| (0) | Free
Search files, folders, text, symbols and commands in one native VS Code picker.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Holdens Search

Press Shift twice to search files, folders, text, symbols and commands in one VS Code picker. Holdens Search works with any color theme.

This extension is 100% vibe coded.

Install

Requires VS Code 1.85 or newer on desktop.

Open Holdens Search on the Marketplace and choose Install, or find BentHolden.holdens-search in VS Code's Extensions view. The publisher is BentHolden.

You can also install it from a terminal with the VS Code CLI:

code --install-extension BentHolden.holdens-search

Search

  1. Open your project with File > Open Folder....
  2. Press Shift twice, or open the Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows/Linux) and run Search Everywhere: Open Search Everywhere.
  3. Type a query. Use Tab / Shift+Tab to choose a mode and the arrow keys to select a result. Press Enter to open it, or Escape to close the picker.
Mode Results
Everywhere Files, symbols and commands by default; sections are configurable
Files File names and paths
Folders Folder paths; selecting one reveals it in Explorer
Text Matches inside files
Symbols Workspace symbols supplied by your language extensions
Commands VS Code and extension commands

Everywhere does not include file contents by default. Switch to Text or add text to islands.search.everywhere.sections to include content matches. You can also open a mode directly from the Command Palette, for example Search Everywhere: Search Files or Search Everywhere: Search Text.

Shortcuts and search options

These shortcuts apply while the picker is open. Alt is Option on macOS. The title bar buttons offer the same search options.

Shortcut Action
Tab / Shift+Tab Next / previous search mode
Enter Open a file or symbol, reveal a folder, or run a command
Escape Close the picker
Ctrl+Enter Fill the query with the selected file's folder or the selected folder's path
Alt+C Toggle case-sensitive matching
Alt+R Toggle regular expressions
Alt+W Toggle whole-word matching
Alt+F Toggle fuzzy matching for file, folder and command names
Alt+G Toggle Git ignore rules
Alt+S Toggle the workspace root's .searchignore rules

File and folder searches match names and paths. Text search uses literal or regular-expression matching; fuzzy matching applies to names. Regex and whole-word options override fuzzy matching. Symbol matching is controlled by the language service. Ctrl+Enter uses Control on macOS too, and switches to Files mode.

Toolbar toggles apply to the current picker session. Save ignore preferences in Settings to keep them for future sessions. Use the refresh button or Search Everywhere: Reindex Workspace while the picker is open to rebuild its file index.

Settings

Open VS Code Settings and search for Search Everywhere. Setting and command IDs keep the islands.search prefix for compatibility with existing profiles.

To edit JSON directly, run Preferences: Open User Settings (JSON) from the Command Palette. For example, merge these entries into the existing settings object to include text in Everywhere and exclude generated folders:

{
  "islands.search.everywhere.sections": ["files", "text", "symbols", "commands"],
  "islands.search.excludePaths": ["**/node_modules/**", "**/build/**"]
}

All settings below use the islands.search. prefix:

Setting Default Purpose
everywhere.sections ["files", "symbols", "commands"] Sections and their order in Everywhere; also accepts folders and text
everywhere.resultLimit 25 Results per section in Everywhere
maxResults 100 Results in an individual mode
debounceMs 250 Delay after typing, in milliseconds
excludeGitIgnored true Apply Git ignore rules
excludeSearchIgnored true Apply .searchignore at each workspace root
excludePaths [] Additional glob patterns that always stay excluded

File, folder and text searches also honor boolean true entries in files.exclude and search.exclude. Conditional sibling exclusions are handled by VS Code's built-in search. Turning off ignore toggles does not disable excludePaths, files.exclude or search.exclude exclusions.

Troubleshooting and limits

  • Double Shift does not open the picker: try the Command Palette command. In Preferences: Open Keyboard Shortcuts, search for islands.search.open and check for conflicting user bindings. The extension already contributes shift shift; update any older binding that sends it to another command.
  • A file is missing: check the ignore toggles and exclusion settings, then refresh the index. Folder results come from indexed file paths, so empty folders do not appear.
  • Symbols are missing: symbol results require a language extension with a workspace symbol provider and a non-empty query. Allow the language service to load your project.
  • A command title looks unfamiliar: some built-in commands use a readable form of their ID. Choose Open full Command Palette for VS Code's complete action titles and availability checks.

File, folder and text search support local folders and multi-root workspaces. For remote or virtual workspaces, use VS Code's built-in file and text search; command and symbol search remain available when their providers support them.

File indexes stop at 200,000 files per root and show a notice if truncated. Text search skips binary files, files larger than 2 MiB and lines longer than 20,000 bytes. Git metadata is always excluded and symlinks are not followed. File and text search use VS Code's bundled ripgrep.

Build from source

From the repository root, use Python 3.9 or newer to build the VSIX:

python3 search-everywhere/scripts/package_extension.py

Run Extensions: Install from VSIX... and select the generated file in search-everywhere/dist/.

Run node --test search-everywhere/tests/*.test.cjs with Node.js 22 or newer to test ranking, ignore rules, text positions, cancellation and picker behavior. Integration tests use VS Code's bundled ripgrep on macOS or RG_PATH/rg on other systems. The manual Extension Development Host smoke test is search-everywhere/tests/live-search.cjs.

License

Apache-2.0; see the packaged LICENSE file. The extension uses VS Code's bundled ripgrep without redistributing the binary.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft