eclipse-theia/theia

files.watcherExclude changes are not applied to active watchers

オープン

#17,699 opened on 2026/06/23

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)TypeScript (2,478 件のフォーク)batch import
bugfile-watchersfilesystemhelp wanted

Repository metrics

Stars
 (18,676 個のスター)
PR merge metrics
 (平均マージ 15d 4h) (30d で 75 merged PRs)

説明

Bug Description:

Active file watchers are stamped with the files.watcherExclude value at the time they are created (FileService.resolveWatcherExcludes in packages/filesystem/src/browser/file-service.ts). When a user changes files.watcherExclude, existing watches are not re-issued, so the new value is not honored until each watcher happens to be recreated:

  • newly-excluded directories stay watched (continue to consume OS file watches and emit events);
  • newly-included directories stay unwatched.

This is a pre-existing gap. https://github.com/eclipse-theia/theia/pull/17630 widened where the excludes are applied (every watcher rather than specific callers) but did not add live re-watching on preference change. Split out as a follow-up at the reviewer's request.

Steps to Reproduce:

  1. Open a workspace and let file watchers start with the default files.watcherExclude.
  2. Add a new pattern, e.g. "files.watcherExclude": { "**/build/**": true }.
  3. Observe that the build subtree is still watched — the OS watches are not updated to honor the new exclude until the watcher is recreated (e.g. a reload).

Additional Information

コントリビューターガイド