Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>DeclutterNew to Visual Studio Code? Get it now.
Declutter

Declutter

click2install

|
3 installs
| (0) | Free
Declutter your VS Code Explorer. Hide gitignored and custom file patterns with one click.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Declutter

Declutter your VS Code Explorer. Hide ignored and unwanted files with one click.

VS Code License


What it does

Declutter reads your workspace ignore files and injects those patterns into files.exclude so the Explorer only shows you what matters. One click to hide, one click to restore — your pre-existing excludes are never touched.


Usage

Click the Declutter item in the status bar (bottom left):

State Appearance Meaning
Inactive ○ Declutter (dim) Ignored files are visible
Active ● Declutter (bright) Ignored files are hidden

Settings

Setting Default Description
declutter.configTarget "workspace" Where to write files.exclude — "workspace" (.vscode/settings.json) or "global" (user settings, no git noise)
declutter.includeNestedIgnoreFiles false Also scan ignore files in subdirectories, not just the workspace root
declutter.autoHideOnOpen false Automatically activate hiding when a workspace is opened
declutter.showNotifications true Show info messages when toggling visibility on or off
declutter.additionalPatterns [] Extra glob patterns to hide in addition to those from ignore files

Example: additional patterns

"declutter.additionalPatterns": [
  "**/TODO.md",
  "**/*.bak"
]

How it works

  1. On hide: reads .gitignore files (and optionally nested .gitignore files), converts patterns to VS Code glob syntax, merges with additionalPatterns, and writes them to files.exclude
  2. On show: removes only the patterns Declutter added — any excludes you had before are left as they were

Pattern conversion rules

Pattern VS Code glob Notes
*.log **/*.log No slash — matches anywhere in tree
/dist dist Leading / — root-relative
node_modules/ **/node_modules Trailing / — directory marker, matches anywhere
src/generated/ src/generated Contains slash — path-specific
# comment (skipped) Comments ignored
!important.log (skipped) Negations have no files.exclude equivalent

For nested .gitignore files, patterns are scoped to their directory:

File Pattern VS Code glob
packages/alpha/.gitignore build/ packages/alpha/**/build
out/generated/.gitignore *.map out/generated/**/*.map

Notes

  • configTarget: "workspace" writes to .vscode/settings.json — this will appear as a diff in shared repos. Use "global" to avoid that.
  • Negation patterns (!pattern) are silently skipped — files.exclude has no equivalent.
  • If you manually remove a pattern from files.exclude while Declutter is active, toggling off will skip it without error.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft