Fix ExcludedFolders configuration not working in directory scanning#245
Merged
Fix ExcludedFolders configuration not working in directory scanning#245
Conversation
Contributor
Author
|
@239573049 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
Co-authored-by: 239573049 <61819790+239573049@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] 文件夹排除不起作用
Fix ExcludedFolders configuration not working in directory scanning
Aug 28, 2025
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR fixes a configuration bug where the DocumentOptions.ExcludedFolders setting was completely ignored during repository scanning, causing users' folder exclusion configurations to be ineffective.
- Modified
GetIgnoreFiles()method to include both excluded files and excluded folders in ignore patterns - Fixed logic to ensure exclusions work even when no
.gitignorefile exists - Leveraged existing pattern matching infrastructure in
ScanDirectorymethod
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
DocumentOptions.ExcludedFoldersconfiguration was not working properly during repository scanning. Users could configure folder exclusions, but they were completely ignored during the directory scanning process.Problem
The
DocumentsHelper.GetIgnoreFiles()method only includedDocumentOptions.ExcludedFilesin the ignore patterns, but never addedDocumentOptions.ExcludedFolders. This meant that:node_modules,build,distwere ignoredScanDirectorymethod would still process and include files from supposedly excluded folders.gitignorefile existed, bothExcludedFilesandExcludedFolderswere completely ignoredSolution
Modified the
GetIgnoreFiles()method to always include bothDocumentOptions.ExcludedFilesandDocumentOptions.ExcludedFoldersin the ignore patterns:The existing
ScanDirectorymethod already has robust pattern matching logic that supports:node_modules)*.tmp)build/)This fix leverages that existing infrastructure without requiring any changes to the directory filtering logic.
Impact
.gitignorefile existsExample usage that now works properly:
Fixes #244.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.