-
Couldn't load subscription status.
- Fork 2.4k
feat: improve @ file search for large projects #8805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Increase default file limit from 5,000 to 10,000 (configurable up to 500,000) - Respect VSCode search settings (useIgnoreFiles, useGlobalIgnoreFiles, useParentIgnoreFiles) - Add 'maximumIndexedFilesForFileSearch' configuration setting - Add tests for new functionality Conservative default of 10k keeps memory usage low while still providing 2x improvement. Users with large projects can opt-in to higher limits (up to 500k). This is a simplified alternative to PR #5723 that solves the same problem without the complexity of caching. Ripgrep is already fast enough for 10k+ files, and the benefit of caching doesn't justify 2,200+ lines of additional code and maintenance burden. Fixes #5721
Review SummaryI've completed the review of this PR. The implementation looks solid - increasing the file search limit and respecting VSCode search settings is a good solution for large projects. The latest commit adds translations correctly across all supported languages. Issues Found
Code Review NotesPositive aspects:
Areas of concern:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review complete. Found 1 issue that should be addressed before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review complete. The translation additions are correct and the core implementation is solid. However, I cannot approve until the test implementation issue is addressed.
Summary
Simplified solution to #5721 - increases file search limit and respects VSCode search settings.
Changes
useIgnoreFiles,useGlobalIgnoreFiles,useParentIgnoreFiles)roo-cline.maximumIndexedFilesForFileSearchconfigurationDesign
Conservative default (10k files) with opt-in for power users. No caching complexity - ripgrep is fast enough for on-demand searches.
Memory impact:
Alternative to PR #5723
This PR solves the same issue with 140 lines vs 2,200+ lines. Ripgrep's performance (<1s for 50k files) doesn't justify the maintenance burden of complex caching.
Closes #5721
Important
Enhances file search by increasing the default limit, respecting VSCode settings, and adding a configurable option, with test coverage included.
file-search.ts.useIgnoreFiles,useGlobalIgnoreFiles,useParentIgnoreFiles) infile-search.ts.roo-cline.maximumIndexedFilesForFileSearchconfiguration inpackage.json.file-search.spec.tsto verify configuration integration and default limit behavior.maximumIndexedFilesForFileSearchin variouspackage.nls.*.jsonfiles.This description was created by
for ab7e566. You can customize this summary. It will automatically update as commits are pushed.