Наблюдатели файловой системы не ограничены каталогом root. Скорее всего, вы используете шаблон глобуса, который выглядит примерно так:
*.txt
Вместо этого вам нужно что-то вроде этого:
**/*.txt
См. Также: the документы для GlobPattern
.
**
для соответствия любому количеству сегментов пути, включая отсутствующие
Пример использования API VSCode:
let watcher = vscode.workspace.createFileSystemWatcher("**/*.txt");
watcher.onDidChange(uri => console.log("change to " + uri));