Glob 模式参考
Visual Studio Code 在许多组件中使用 glob 模式。例如,在搜索等功能中设置文件和文件夹的包含/排除项,从文件资源管理器中隐藏文件或将其标记为只读,以及设置特定于编程语言的文件关联。
Glob 模式语法
VS Code 支持以下 glob 语法
/
用于分隔路径段*
用于匹配路径段中的零个或多个字符?
用于匹配路径段中的一个字符**
用于匹配任意数量的路径段,包括零个{}
用于分组条件(例如,{**/*.html,**/*.txt}
匹配所有 HTML 和文本文件)[]
用于声明要匹配的字符范围(example.[0-9]
匹配example.0
、example.1
等)[!...]
用于否定要匹配的字符范围(example.[!0-9]
匹配example.a
、example.b
,但不匹配example.0
)
注意:即使在 Windows 上,路径也使用 /
分隔,而不是 \
。但应用时,glob 模式将匹配包含斜杠和反斜杠的路径。
特殊情况
搜索视图中的 glob 模式与 files.exclude 和 search.exclude 等设置中的工作方式不同。在设置中,您必须使用 **/example
来匹配工作区中子文件夹 folder1/example
内名为 example
的文件夹。在搜索视图中,假定已包含 **
前缀。这些设置中的 glob 模式始终是相对于工作区文件夹的路径进行评估的。
常见问题
为什么 glob 模式不支持特性 X 或 Y?
我们实现了自己的glob 匹配库,目标是为大多数典型模式提供最佳性能。如果您认为应该支持某种特定的 glob 语法,可以提出一个问题,并说明您的用例。
为什么我的 glob 模式不起作用?
请确保在 Windows 上使用 /
而不是 \
来分隔路径。VS Code 中的 glob 模式要求使用 /
来分隔路径,但它们会匹配路径中的 /
和 \
。