-
Notifications
You must be signed in to change notification settings - Fork 7.6k
[PM] Lots of Find in Files improvements #3151
Conversation
Its been a while with no comments here, but I know that this is a big request. Should I just start splitting this requests into smaller parts so it can easily be reviewed and merged. I could go step by step, make a small request, wait until is merged, start with another part until everything is covered? Might make it a lot easier since most of the changes aren't that big anyway, but look big all together. |
Hey @TomMalbran -- sorry (again) for letting this languish so long. Tagging [PM]--to @adrocknaphobia to take a look at this and evaluate what's currently in the pull request. |
@njx That is ok, I know is a big requests with several things so it would take its time to review it. The bullet list at the start should have all the new features. I started splitting up this request, to make it easier to review and merge, is that ok too? |
Let's wait until Adam's had a chance to look at it before doing more work to split it up--he might have opinions about which pieces he does/doesn't want right now. Thanks! |
Hmmm, somehow the [PM] tag got lost. To @adrocknaphobia again. |
Assigning [PM] issue to @jadbox |
@redmunds I will just close this. Most of it was done in separate PRs, and the rest will be done in the same way. |
So here I made the next improvements to find in files covering most of the Trello Card and some extras:
Searching through the files now uses(Not required anymore)DocumentManager
for files in the working set, since only those could have unsaved changes andFileUtils
for the rest. These should avoid creating a Document for every file creating lots of console errors as mentioned in Find in Files causes console to get filled up with messages from LanguageManager #3146.I also experimented on moving the search to a Web Worker, since Brackets stalls for a long time when searching on big projects, like Brackets, but it couldn't access
brackets.fs
probably for having the same restrictions as working in a browser (could this be changed in the CEF configuration?). I tested a bit just moving the search, but wasn't able to do it yet using Transferable Objects (without those, brackets crashes and wouldn't make a good optimization). Anyway moving just the search would still stall the window during the file reading which is already a long time. A filtering system would reduce this a lot in big project without needing to use Web Workers.