2016-06-27 3 views
2

Я хотел бы игнорировать папки, которые были исключены в настройках рабочей области, когда я вызываю api findFiles (https://code.visualstudio.com/Docs/extensionAPI/vscode-api#WorkspaceConfiguration), однако я не уверен, как это сделать. Я пробовал искать способ комбинировать высказывания glob, но мне не повезло. Я нашел примеры GLOB_BRACE, но я не думаю, что это будет работать в этом случае.Можете ли вы передать несколько цепочек glob для vscode findFiles api

(например Глоб ("{Foo/.cpp, бар/ .cpp}", GLOB_BRACE))

Есть ли способ передать несколько каталогов на заявление Глоб в findFiles игнорировать?

я в идеале хотел бы сделать что-то вроде этого ...

let search_config = vscode.workspace.getConfiguration("search"); 
let search_exclude_settings = search_config.get("exclude"); 
let exclude_properties = "{"; 
for (var exclude in search_exclude_settings) { 
    if(search_exclude_settings.hasOwnProperty(exclude)) { 
     exclude_properties += exclude + ","; 
    } 
} 
exclude_properties += filename_and_extension + "}"; 

var files = vscode.workspace.findFiles(filename_search, exclude_properties, 100); 

, но, к сожалению, не работает. Благодарим за любую идею! Я извиняюсь, если я, вероятно, пропущу что-то ослепительно очевидное.

Благодарим вас за внимание!

Том

+0

Я только что подтвердил в источнике VSCode, что он не учитывает исключенные файлы. Я считаю, что это ошибка или недостающая функция, которую я собираюсь представить. – seairth

+0

Тем временем другой подход может заключаться в том, чтобы использовать then(), чтобы вручную фильтровать результаты, а не пытаться генерировать glob. – seairth

+0

Привет, Seairth! Большое спасибо за разъяснение этого, я просто хотел удостовериться, что у меня не было ничего очевидного! Спасибо, что посмотрели на это. Если вы открыли проблему/запрос для этого, вы сможете добавить ссылку здесь, и я могу дать ей +1;) Еще раз спасибо! – Tom

ответ

1

Хорошо так получается пример кода я перечислил выше на самом деле работает, и я просто не понял, что это лицо ладонью

У меня был быстрый взгляд на vscode источника и в src/vs/base/commom/glob.ts есть примеры выражений регулярных выражений, которые вы можете использовать и как они разбираются. Используя '{', а затем ',', как разделители обрабатываются правильно.