Nifty Search Scopes
Named search scopes for the Search view, with a scope per package in npm, pnpm, yarn, lerna, Cargo and Go monorepos detected automatically.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features



- Search in Scope… (
Ctrl+Alt+Shift+F, or the filter button on the Search view) opens a picker of scopes. Choose one and the Search view's files to include and files to exclude boxes are filled in for you. Selected text becomes the search query.
- A scope for every package, automatically. In npm, yarn and pnpm workspaces, lerna, Cargo workspaces and
go.work projects, every package is listed by name (@acme/ui, acme-core), with its node_modules, dist, build and target folders left out.
- Search in Current Package: search only the package the open file belongs to. Nested packages are handled.
- Search in Changed Files: search only files you've modified or added since the last commit.
- Saved scopes for the parts of the codebase you search most (
Backend, Docs, Everything but tests). Save one from the Explorer's right-click menu, or add it to .vscode/settings.json so the whole team has it.
- The last scope you used is shown in the status bar; click it to switch.
Example
// .vscode/settings.json
"nifty.search-scopes.scopes": [
{ "name": "Backend", "include": ["src/api/**", "src/db/**"], "exclude": ["**/*.test.ts"] },
{ "name": "Docs", "include": "docs/**, *.md" }
]
Commands
| Command |
What it does |
Nifty Search Scopes: Search in Scope… |
Pick a scope and open the Search view with it |
Nifty Search Scopes: Search in Current Package |
Search the package of the open file |
Nifty Search Scopes: Search in Changed Files |
Search files changed since the last commit |
Nifty Search Scopes: Search in Last Scope |
Search again in the scope you used last |
Nifty Search Scopes: Save Search Scope… |
Save folders or globs as a named scope |
Nifty Search Scopes: Search Everywhere |
Clear the include and exclude boxes |
Nifty Search Scopes: Refresh Packages |
Re-detect workspace packages |
Settings
| Setting |
Default |
What it does |
nifty.search-scopes.scopes |
[] |
Your saved scopes |
nifty.search-scopes.detectPackages |
true |
Offer a scope for each workspace package |
nifty.search-scopes.packageExcludes |
node_modules/**, dist/**, … |
Folders left out of package searches |
nifty.search-scopes.showInStatusBar |
true |
Show the last scope in the status bar |
Install
- VS Code: search for "Nifty Search Scopes" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty Node Search: Search Files in node_modules: Fuzzy-find and open files inside node_modules, jump to a package's README, and see installed versions. (Open VSX)
- Nifty Run: npm Scripts, Make & Task Runner: Everything you can run in one view: npm, pnpm and yarn scripts, make and just targets, Python and Go entry points, .NET, Cargo and Docker Compose. Run, debug or save to tasks.json. (Open VSX)
- Nifty Docs: Dash, Zeal & DevDocs Lookup: Look up the word under the cursor in Dash, Zeal or DevDocs, with docsets picked from your language and frameworks. (Open VSX)
- Nifty Format on Save: Toggle, Exclude & Chains: Control format on save: a status bar toggle, folders and files that are never formatted, time limits, and save chains like organize imports, ESLint fix, then format. (Open VSX)
- Nifty JS Tests: Mocha, node:test & Bun in Test Explorer: Run and debug Mocha, node:test and Bun tests from the Test Explorer: real diffs, stack locations, watch mode, TypeScript loaders and monorepos. No Jest or Vitest. (Open VSX)
- Nifty Problems: Project-Wide TypeScript Errors: See TypeScript and ESLint errors for your whole project in the Problems panel, not just open files. (Open VSX)
See all 100+ Nifty extensions and web tools at https://getnifty.dev
| |