R3BL Fuzzy Search
Interactive fuzzy search across file contents using fzf, with live preview and instant
results.
Features
- Interactive Search Panel: Always-editable search box with live preview as you type
- Fuzzy Search: Smart search using fzf that
tolerates typos and is case-insensitive
- Fast Results: Powered by ripgrep for
lightning-fast file content search
- Live Preview: See results update in real-time as you type (250ms debounce)
- Dual View Modes:
- Preview results in interactive panel with clickable navigation
- Press Enter to open full results in a code editor tab
- Customizable Excludes: Configure which files and directories to exclude from search
on-the-fly
- Gitignore Support: Toggle
.gitignore respect on/off during search
- Result Limit: Configurable maximum number of results (default: 100) with visual
warning
- Respects VS Code Settings: Font size, line height, and editor settings automatically
applied
- Smart Result Ranking: Best matches appear first, sorted by relevance
Screenshots
Interactive search panel with live preview and always-editable search box
Live preview shows results as you type with 250ms debounce
Click any result to jump directly to that location in your code
Press Enter to open full results in a Search Editor tab with clickable line numbers
Configure exclude patterns and .gitignore respect with interactive buttons
Requirements
This extension requires the following command-line tools to be installed:
Platform Support: macOS and Linux only (Windows is not supported)
Usage
Keyboard Shortcut
Press Alt+Shift+D to start a fuzzy search (same shortcut for both macOS and Linux).
Search Workflow
- Open search panel: Press
Alt+Shift+D to open the interactive search panel
- Type your query: Start typing your fuzzy search pattern (e.g.,
exprt will find
export)
- See live results: Results appear in real-time as you type (250ms debounce)
- Navigate instantly: Click any result in the panel to jump directly to that location
- Modify and re-search: Edit your query anytime to refine results
- Open full results (optional): Press Enter to save results to
/tmp/ and open in a
Search Editor tab
- Configure settings: Use icon buttons to toggle .gitignore respect or modify exclude
patterns
- Gear icon: Modify exclude patterns
- Search-stop icon: Toggle .gitignore respect on/off
Example
Search for exprt activate (with a typo):
- Type in the interactive panel
- Live results show:
export function activate, export const activate, etc.
- Click any result to navigate instantly
- Press Enter to open full results in editor tab
- Results saved to:
/tmp/exprt_activate.code-search
Extension Settings
This extension contributes the following settings:
r3blFuzzySearch.fzfPath: Path to fzf executable (default: fzf)
r3blFuzzySearch.ripgrepPath: Path to ripgrep executable (default: rg)
r3blFuzzySearch.defaultExcludePattern: Default comma-separated glob patterns for files
to exclude (default: **/node_modules/**,**/.git/**,**/.vscode/**,**/target/**)
r3blFuzzySearch.resultLimit: Maximum number of search results to display (default:
100, range: 1-10000)
r3blFuzzySearch.respectGitignore: Automatically respect .gitignore files when
searching (default: true)
Commands
R3BL Fuzzy Search: Interactive Search - Open interactive search panel with live
preview
Keyboard Shortcuts
| Shortcut |
Command ID |
When |
Alt+Shift+D |
r3bl-fuzzy-search.searchInFiles |
Always |
You can customize this shortcut in VS Code's Keyboard Shortcuts settings by searching for
the command ID above.
Advantages Over Built-in Search
| Feature |
Built-in Search |
R3BL Fuzzy Search |
| Matching |
Exact/Regex |
Fuzzy (FZF) |
| Typo Tolerance |
No |
Yes |
| Speed |
Fast |
Fast (rg+fzf) |
| Live Preview |
No |
Yes (250ms debounce) |
| Result Display |
Sidebar or Editor |
Interactive Panel + Editor |
| Instant Navigation |
No |
Click to jump |
| Re-query |
Must start over |
Edit anytime |
| Keybinding |
Ctrl+Shift+F |
Alt+Shift+D |
| Gitignore |
Always respected |
Toggleable |
| Result Ranking |
Basic |
Smart (by relevance) |
Known Issues
- Results are limited to the configured maximum (default 100). If you hit this limit,
consider narrowing your search query.
- Windows is not supported due to simplified path handling for Unix-like systems.
Shared Infrastructure
This extension uses the R3BL Shared extension for centralized services across all R3BL
extensions (message queuing, global configuration, and more).
See the
R3BL Shared documentation
for available services, API usage, and configuration options.
Release Notes
See
CHANGELOG.md
for detailed release notes and version history.
License
MIT
Contributing
Found a bug or have a feature request? Please open an issue at:
https://github.com/r3bl-org/r3bl-vscode-extensions/issues
Enjoy fuzzy searching!