您可以将多个 glob 字符串传递给 vscode findFiles api
Can you pass multiple glob strings to vscode findFiles api
我想在调用 api findFiles
(https://code.visualstudio.com/Docs/extensionAPI/vscode-api#WorkspaceConfiguration) 时忽略已在工作区设置中排除的文件夹,但我不确定该怎么做这个。我曾尝试寻找一种方法来组合 glob 语句,但运气不佳。我找到了 GLOB_BRACE 示例,但我认为这在这种情况下不起作用。
(例如 glob("{foo/.cpp,bar/.cpp}", GLOB_BRACE))
有没有办法将多个目录传递给 findFiles 中的 glob 语句以忽略?
理想情况下,我想做这样的事情...
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);
但不幸的是,这不起作用。任何想法将不胜感激!如果我可能遗漏了一些非常明显的东西,我深表歉意。
感谢您的宝贵时间!
汤姆
好吧,事实证明我上面列出的代码示例确实有效,只是我没有意识到脸掌
我快速浏览了 vscode 源代码,在 src/vs/base/commom/glob.ts 中有一些您可以使用的正则表达式示例以及它们的解析方式。使用“{”和“,”作为分隔符已正确处理。
我想在调用 api findFiles
(https://code.visualstudio.com/Docs/extensionAPI/vscode-api#WorkspaceConfiguration) 时忽略已在工作区设置中排除的文件夹,但我不确定该怎么做这个。我曾尝试寻找一种方法来组合 glob 语句,但运气不佳。我找到了 GLOB_BRACE 示例,但我认为这在这种情况下不起作用。
(例如 glob("{foo/.cpp,bar/.cpp}", GLOB_BRACE))
有没有办法将多个目录传递给 findFiles 中的 glob 语句以忽略?
理想情况下,我想做这样的事情...
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);
但不幸的是,这不起作用。任何想法将不胜感激!如果我可能遗漏了一些非常明显的东西,我深表歉意。
感谢您的宝贵时间!
汤姆
好吧,事实证明我上面列出的代码示例确实有效,只是我没有意识到脸掌
我快速浏览了 vscode 源代码,在 src/vs/base/commom/glob.ts 中有一些您可以使用的正则表达式示例以及它们的解析方式。使用“{”和“,”作为分隔符已正确处理。