feat(language-server): Support client-side file watching via `onDidCh… #66668
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.
…angeWatchedFiles`
This implements
onDidChangedWatchedFilesin the language server, which allows the client to communicate changes to files rather than having the server create system file/directory watchers.This option is enabled in the extension via the
angular.server.useClientSideFileWatchersetting. When enabled, the extension registers a FileSystemWatcher for .ts, .html, and package.json files and forwards events to the server. The server completely disables its internal native file watchers (via a new 'ServerHost' implementation that stubs watchFile/watchDirectory).This is significantly more performant and reliable than native watching for several reasons:
This option was tested in one very large internal project and observed ~10-50x improvement of initialization times.
fixes #66543