singularitopian52 downloadsFilter the File explorer by top-level folder and optionally hide files and folders matching configurable text.
Plugin for Obsidian to provide filtering on top-level folders in the File explorer.
File Explorer Filter adds a filter button to Obsidian's File explorer to switch the view between All folders or one specific top-level folder. Switch context without maintaining multiple notebooks - like OneNote sections.
[DONE].Open Settings → Community plugins → Browse, search for File Explorer Filter, then select Install and Enable.
cd src
npm install
npm run build
Copy src/dist/main.js, manifest.json, and src/styles.css into .obsidian/plugins/file-explorer-filter/.
Enable File Explorer Filter under Settings > Community plugins.
Select the filter icon in the File explorer toolbar, then choose All folders or a top-level folder such as Career. You can independently toggle Hide names containing "[DONE]".
Under Settings > File Explorer Filter, enable or disable the name-filter menu option and replace [DONE] with any non-empty text. Name matching is case-insensitive and can occur anywhere in a file or folder name; empty or whitespace-only settings are rejected.
You can also use the command palette commands File Explorer Filter: Show File Explorer Filter menu and File Explorer Filter: Toggle files and folders matching the name filter.
When the plugin loads, it waits for the workspace layout and then applies the saved folder and name filters to every File explorer view. It also reruns this setup when Obsidian rebuilds the explorer, and refreshes the view when files are created, deleted, or renamed.
The filter keeps explorer rows in the DOM and applies a CSS class to rows outside the selected folder or matching the configured name pattern. When the filter changes, the view is refreshed; switching folders also invalidates Obsidian's virtual-scroll layout so the visible rows are recalculated immediately. The plugin does not patch getSortedFolderItems() or alter vault files, so it remains independent from explorer sorting plugins.
This plugin is built and released using the repository's release.yml workflow. It is versioned using Semantic Versioning.
It is published as a community plugin, with release assets published to a corresponding GitHub Release:
The TypeScript source lives in src/. Run the plugin in watch mode while developing:
cd src
npm install
npm run dev
Run npm run build for a production build.
To inspect the plugin in Obsidian's live renderer, close any running Obsidian instance and start it with remote debugging enabled:
& "C:\Program Files\Obsidian\Obsidian.exe" --remote-debugging-port=9222
webSocketDebuggerUrl returned for the renderer target.The --remote-debugging-port switch is documented in Electron's command-line switch reference, and the /json/list endpoint and webSocketDebuggerUrl are part of the Chrome DevTools Protocol.
Contributions are welcome. Please fork the repository, create a focused branch for your change, and open a pull request with a clear description of what changed and why; issues are also welcome for bug reports and feature ideas.
We welcome responsible security reports. Please contact the repository owner privately with the details rather than opening a public issue, so the problem can be investigated and addressed before it is disclosed.
This project is licensed under the MIT License - see the LICENSE.md file for details.