Scopes Manager
Workspace scopes manager for VS Code: Filter Explorer files using inclusion/exclusion glob patterns, with Model Context Protocol (MCP) server support.
Inspired by IntelliJ's Scopes Manager, this extension allows you to bookmark a subset of files and folders, and focus on them by filtering out everything else from the native VS Code File Explorer.
Features
- Scope filtering — zoom in on just the files that matter for a given task, without setting up a multi-root workspace or touching
.gitignore
- Native Integration — filters the actual built-in File Explorer via
files.exclude, so everything (search, quick open, git) stays consistent.
- Zero Config — Install and go. Right-click a file, add it to a scope, and you are ready.
- Lightweight — No background processes or heavy polling.
- Version Control Friendly — Shared scopes live in
.vscode/scopes.json so your team can commit and share them. Personal scopes stay local.
- MCP Integration — A built-in Model Context Protocol (MCP) server allows AI agents (like Gemini, Claude, etc.) to list and read your defined scopes.
How It Works
Scope filtering uses the native VS Code files.exclude workspace setting. When you select a scope, the extension computes which files and folders are not part of the scope and temporarily adds them to files.exclude. Deselecting the scope restores the original exclude list. This means filtering works with the built-in File Explorer — no custom tree views needed.
Tip: Searching while a scope is active
Because scopes use files.exclude, VS Code search and Quick Open (Ctrl+P) will also be filtered. To search everywhere without deactivating your scope, toggle the "Use Exclude Settings and Ignore Files" (gear icon) in the Search view.
Commands
| Name |
Description |
Scopes Manager: Create Scope |
Create a new named scope |
Scopes Manager: Add to Scope |
Add selected files/folders to a scope |
Scopes Manager: Remove from Scope |
Remove selected files/folders from a scope |
Scopes Manager: Delete Scope |
Delete an existing scope |
Scopes Manager: Rename Scope |
Rename an existing scope |
Scopes Manager: Clear Scope Patterns |
Remove all patterns from a scope |
Scopes Manager: Switch Scope |
Pick the active scope from a quick list |
Scopes Manager: Install scopes MCP |
Configure MCP server in the workspace |
Keybindings
Keybindings are active when the File Explorer or an Editor is focused.
| Name |
Description |
Keybinding |
Scopes Manager: Add to Scope |
Add selected files/folders to a scope |
Alt+S |
Scopes Manager: Remove from Scope |
Remove selected files from a scope |
Alt+D |
Scopes Manager: Switch Scope |
Pick the active scope from a quick list |
Shift+Alt+S |
- Explorer context menu — Add to Scope, Remove from Scope
- Scopes list context menu — Delete, Rename, Clear Patterns
Local vs Shared Scopes
Scopes Manager supports two storage modes so you can keep personal scopes private while sharing team scopes via version control.
| Type |
Storage |
Committed to VCS |
Use case |
| Shared |
.vscode/scopes.json |
✅ Yes |
Team-wide scopes, checked into git |
| Local |
VS Code settings (scopesManager.localScopes) |
❌ No |
Personal/temporary scopes, machine-only |
When you create a scope, you choose whether it is shared or local. Shared scopes are available to all teammates who open the same workspace. Local scopes are stored in your user/workspace settings and never leave your machine.
Settings
| Name |
Description |
Default |
scopesManager.localScopes |
Locally stored scopes (not committed to VCS). Managed automatically by the extension. |
[] |
MCP Integration
The extension includes a Model Context Protocol (MCP) server that allows LLMs to interact with your defined scopes.
- Tools:
list_scopes: List all available scope names in the current workspace.
get_scope_patterns: Get the glob patterns for a specific scope.
To install the MCP server automatically, run the Scopes Manager: Install scopes MCP command from the Command Palette (Ctrl+Shift+P). This will create or update a .mcp.json or .gemini/settings.json file in your workspace root.
For manual configuration (e.g., in Claude Desktop), use:
- Command:
node
- Arguments:
path/to/extension/tools/mcp-scopes/server.js
- CWD: Your project root directory