Я думаю, excludes
обычно шаблоны глобуса , например, из настройки "files.exclude"
. В этом выпуске есть несколько примеров для FileSystemProvider
API, в частности , например:
watch(Uri.file('/path/to/folder', {
recursive: false,
excludes: ["**/node_modules/**", ".git/**"]
});
В соответствии с документами API синтаксис шаблона глобуса VSCode определяется следующим образом:
*
для соответствия одному или нескольким символам в сегменте пути
?
для сопоставления с одним символом в сегменте пути
**
для соответствия любому количеству сегментов пути, включая ни одного
{}
для группирования условий (например, **/*.{ts,js}
соответствует всем файлам TypeScript и JavaScript)
[]
для объявления диапазона символов для сопоставления в сегменте пути (например, example.[0-9]
для сопоставления example.0
, example.1
,…)
[!...]
для отмены диапазона символов для сопоставления в сегменте пути (например, example.[!0-9]
для сопоставления example.a
, example.b
, но не example.0
)
Полагаю, вы можете не поддерживать исключения в поставщике нестандартной файловой системы, если вы этого не хотите, но это может сбить с толку пользователей, если их параметры исключения не соблюдаются. Это также может оказать негативное влияние на производительность, если исключения содержат много файлов, в зависимости от того, как реализован ваш провайдер.