Directories with source files for programming projects often contain a lot of "useless" stuff that can slow down your search enormously, such as unoptimized binaries, libraries or packages, and temporary files; 100 kB of payload per 100 MB of garbage is not too uncommon. It's especially bad when you have to go through the contents. Ideally, those files shouldn't be there, but in reality, you have no choice but to keep them. I know I can skip directories while searching using the status bar of the Find Files box, but that's strictly manual and I can't just leave it searching like that to see the results later. Searching with IDE isn't always an option either.
So why not add a feature to skip files based on readily-available patterns in VCS such as the .gitignore file in Git? It doesn't have to be aware of VCS' internal objects and metadata.
As I understand, it may not be trivial to do, but it's gonna be a great time-saver for us programming folks.
Thanks for consideration!
Code: Select all
*.* | .git\
I believe he wants to ignore files that are listed in GIT ignore files, such files may be everywhere within the repository, so it is not so easy to ignore them currently.
The only way to solve such task that I see is to find some GIT plugin for TC that will provide a field like IsIgnored... But I don't know if such a plugin exists.
These files contain recursive patterns or patterns with relative paths, one per line, e.g.:
Code: Select all
Thumbs.db *.o *.so [Dd]ebug/ [Rr]elease/
But it is possible to make it then? And that's one problem less, which is great. I was worried TC's API didn't allow messing with the search, but I completely forgot about customizable fields. So as long as this field can be provided in an efficient way (gotta check the API to find out), it should be the natural solution. Thank you!MVV wrote:The only way to solve such task that I see is to find some GIT plugin for TC that will provide a field like IsIgnored... But I don't know if such a plugin exists.
For example, even in a simpler case without this plug-in, if I want to ignore all the "foo" folders in my project, I can use the built-in filter "tc: path !contains foo". That obviously excludes all the entries with "foo" in it. And if it was smart, TC would skip those directories entirely and immediately, but it doesn't seem to do that. Instead, it still attempts to check all the things it sees under the "foo" directories.
Here's a video: https://www.youtube.com/watch?v=bm0Skn3uRWo The search context is "D:/projects/tc_test" with a single "node_modules" folder in it. I choose to ignore the paths containing "node_modules" on the plugins tab. And yet, you can see that TC is scanning inside that folder. It doesn't have to do that. I'd even go as far as to say it shouldn't.
Don't you guys think it's a bug (or at least an actual performance issue)?