-
Notifications
You must be signed in to change notification settings - Fork 417
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
Detect when files move to empty directories #1368
Detect when files move to empty directories #1368
Conversation
Augment the IFileSystemWatcher to allow watching a directory recursively. This enables OmniSharp to watch a project's entire directory tree (as oppposed to the specific subdirectories that contain documents)
Glad to see this issue finally getting on the chopping block! Yet, I have questions 😆
Looking at this, I wonder can't MSBuildProjectmanager just subscribe to all "*.cs" on start instead of doing anything per directory? BufferManager will put new files into correct projects, and others will be forwarded to the misc project. If anything, it should make dispatching events in ManualSystemWatcher cheaper, as it would replace 100s of hooks with just one (note that ManualSystemWatcher is not a real system file watcher, it just re-distributes upstream events coming from /fileChanged endpoint. I was confused by this at first) |
Interesting idea. Let's see what the tests have to say about that... |
And of course, if that's a good solution, maybe we can get rid of the "FileSystemWatcher" concept altogether, since as you say, it's more of an abstraction for controlling what events from the "real" file system get handled. |
…into dev/rchande/detectFileMoves
…nde/omnisharp-roslyn into dev/rchande/detectFileMoves
@filipw care to review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
Augment the IFileSystemWatcher to allow watching a directory
recursively. This enables OmniSharp to watch a project's entire
directory tree (as oppposed to the specific subdirectories that contain
documents)