FileList Panel Extension
A powerful VS Code/Cursor extension that provides an enhanced file filtering panel with support for glob patterns, regular expressions, and fuzzy search.
Features
- Multiple Filter Types: Switch between glob, regex, and fuzzy search modes
- Real-time Filtering: See results instantly as you type
- Source Control Integration: Optionally respect .gitignore and other ignore files
- File Tree View: Hierarchical display of filtered results
- Advanced Configuration: Customizable settings for different workflows
- Performance Optimized: Efficient filtering with caching and debouncing
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "FileList Panel"
- Click Install
From OpenVSX Registry (for Cursor)
- Open Cursor
- Go to Extensions
- Search for "FileList Panel"
- Click Install
Manual Installation
- Download the .vsix file from the releases page
- In VS Code/Cursor, press Ctrl+Shift+P
- Type "Extensions: Install from VSIX..."
- Select the downloaded .vsix file
Usage
Basic Usage
- Open the FileList panel from the Activity Bar
- Type your search pattern in the filter input
- Switch between filter modes using the mode buttons
- Click on files to open them
Filter Modes
Glob Mode
- Use standard glob patterns:
*.ts
, **/*.js
, src/**/*.{ts,js}
- Negation with
!
: *.ts,!*.test.ts
- Case-sensitive option available
Regex Mode
- Full JavaScript regex support:
\.(ts|js)$
- Flags support:
/pattern/flags
- Real-time validation with error highlighting
Fuzzy Mode
- Intelligent fuzzy matching
- Score-based ranking
- Tolerant of typos and partial matches
Configuration
Configure the extension through VS Code settings:
{
"fileList.defaultFilterMode": "fuzzy",
"fileList.respectGitignore": true,
"fileList.maxResults": 1000,
"fileList.caseSensitive": false,
"fileList.debounceDelay": 300,
"fileList.showFileIcons": true,
"fileList.showFileSize": false,
"fileList.showModifiedDate": false
}
Development
Prerequisites
- Node.js 18.x or later
- VS Code 1.74.0 or later
Setup
- Clone the repository
git clone https://github.com/matt-edmondson/FileList.git
cd FileList
- Install dependencies
npm install
- Open in VS Code
code .
Building
npm run compile
Testing
npm test
Development Mode
npm run watch
Then press F5 to launch the extension in a new Extension Development Host window.
Packaging
npm run package
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Report bugs on GitHub Issues
- Feature requests welcome
- Documentation improvements appreciated
Changelog
See CHANGELOG.md for release history.