Fix for directory remove/move/rename #3829
Merged
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.
VSCode file watcher has limitation where it doesn't notify any removed files if folder is removed/moved/renamed (microsoft/vscode#90746).
What happens is VSCode don't notify about removed file but send new one in another location in cases like directory rename. This causes duplicate documents on workspace -> cannot build because of duplicate types etc. Only way to currently fix this is restart which occurs fairly often if you refactor folders around.
Because file watcher doesn't support notifying removed files but it supports notifying about removed files i added new endpoint parameter at omnisharp-roslyn side to notify about removed folder -> omnisharp-roslyn can remove matching documents from folder at it's workspace.
PR at omnisharp-roslyn side OmniSharp/omnisharp-roslyn#1821
Before after rename/move/delete directory operation at vscode:
After these fixes: