-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Glob pattern "**/.*" in "files.exclude" breaks the symbol resolution #4063
Comments
Well, it seems the root cause is I added below highlighted Adding this line will cause the database icon never disappear: And when I hover the mouse over it, it just says "Parsing open files". No percentage show. My intention is to exclude all the files and folders started with a dot. I don't know why it can break the symbol parsing. |
files.exclude
in settings.json greatly slow down the file parsing progress.files.exclude
in settings.json hangs the file parsing progress.
files.exclude
in settings.json hangs the file parsing progress.
Reproduce 2: I upload the repro code to here: https://github.com/smwikipedia/globRepro Steps:
The database icon will disappear immediately.
|
I tried Could anyone explain why I need to add the |
We wrote our own code to do the glob pattern matching (around 3 years ago?) and it has some bugs in cases that were not expected/tested. Also, having hundreds or more patterns in files.exclude is expected to slow down stuff a lot, because the regex matching can be expensive when it's run for every file in several large loops. So is your workaround sufficient? I'm not sure when we'll have time to fix this. |
@sean-mcmanus In my two reproduces above, I just put one single pattern in the files.exclude. That is As to the workaround, I am still evaluating it. I guess it may be not difficult to find the root cause in code. Maybe just debug through below 2 scenarios for the
|
If you are still seeing this issue, please let us know. I just tried both scenarios and they appear to work as expected for me. |
Type: LanguageService
My source tree can produce different build results. Each build use different C files.
I use
files.exclude
in settings.json to exclude the C files not relevant to a specific build.For a specific build, I add about 2500 C files to
files.exclude
.But this break the symbol parsing. The database icon at the bottom right simply doesn't show the progress percentage. It just keep saying
Parsing open files
forever...If the file parsing cannot finish, it will cause #4059
Describe the bug
OS and Version:
Windows 10 Version 1709 (Build 16299.1268)
VS Code Version:
C/C++ Extension Version:
0.25.0-insiders
Other extensions you installed (and if the issue persists after disabling them):
A clear and concise description of what the bug is.
To Reproduce
There are 2 reproduces in the comments.
Expected behavior
Screenshots
Additional context
The text was updated successfully, but these errors were encountered: