Skip to content

Conversation

@daniel-lxs
Copy link
Member

@daniel-lxs daniel-lxs commented Oct 24, 2025

Summary

Simplified solution to #5721 - increases file search limit and respects VSCode search settings.

Changes

  • Default limit: 5,000 → 10,000 (configurable up to 500,000)
  • Respects VSCode search settings (useIgnoreFiles, useGlobalIgnoreFiles, useParentIgnoreFiles)
  • Adds roo-cline.maximumIndexedFilesForFileSearch configuration
  • Includes test coverage

Design

Conservative default (10k files) with opt-in for power users. No caching complexity - ripgrep is fast enough for on-demand searches.

Memory impact:

  • 10k files: ~2-3MB (default)
  • 50k files: ~10-15MB
  • 500k files: ~100-150MB (max, user opt-in)

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.

  • Behavior:
    • Increases default file search limit from 5,000 to 10,000, configurable up to 500,000 in file-search.ts.
    • Respects VSCode search settings (useIgnoreFiles, useGlobalIgnoreFiles, useParentIgnoreFiles) in file-search.ts.
    • Adds roo-cline.maximumIndexedFilesForFileSearch configuration in package.json.
  • Testing:
    • Adds tests in file-search.spec.ts to verify configuration integration and default limit behavior.
  • Misc:
    • Adds multilingual descriptions for maximumIndexedFilesForFileSearch in various package.nls.*.json files.

This description was created by Ellipsis for ab7e566. You can customize this summary. It will automatically update as commits are pushed.

- 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
@daniel-lxs daniel-lxs requested review from cte, jr and mrubens as code owners October 24, 2025 20:51
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Oct 24, 2025
@roomote
Copy link

roomote bot commented Oct 24, 2025

Review Summary

I'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

  • Test Implementation: The tests in file-search.spec.ts don't actually verify behavior. They only check that mocks are defined rather than validating that the correct ripgrep arguments are passed based on VSCode configuration settings.

Code Review Notes

Positive aspects:

  • Configuration changes are well-structured with appropriate min/max limits (5,000 - 500,000)
  • Default increase from 5,000 to 10,000 is conservative and reasonable
  • The implementation correctly respects VSCode's search settings (useIgnoreFiles, useGlobalIgnoreFiles, useParentIgnoreFiles)
  • getRipgrepSearchOptions() properly translates VSCode settings to ripgrep flags
  • The limit parameter in executeRipgrepForFiles correctly falls back to the configured value
  • Translation additions in commit 9070ff4 are complete and consistent across all languages

Areas of concern:

  • Test coverage doesn't provide actual verification of the new functionality

Follow Along on Roo Code Cloud

@dosubot dosubot bot added the enhancement New feature or request label Oct 24, 2025
Copy link

@roomote roomote bot left a 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.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Oct 24, 2025
Copy link

@roomote roomote bot left a 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.

@daniel-lxs daniel-lxs moved this from Triage to PR [Needs Review] in Roo Code Roadmap Oct 24, 2025
@hannesrudolph hannesrudolph added PR - Needs Review and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request PR - Needs Review size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: PR [Needs Review]

Development

Successfully merging this pull request may close these issues.

The @ file search feature fails to find some files in a very large or complex project

3 participants