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 等设置中的 glob 模式工作方式不同。在设置中,您必须使用 **/example 来匹配工作区中子文件夹 folder1/example 中名为 example 的文件夹。在“搜索”视图中,假定前缀 **。这些设置中的 glob 模式始终相对于工作区文件夹的路径进行评估。
常见问题
为什么 glob 模式不支持功能 X 或 Y?
我们实现了自己的 glob 匹配库,目标是为大多数典型模式提供最佳性能。如果您希望支持某种 glob 语法,您可以报告一个带有您的用例的问题。
为什么我的 glob 模式不起作用?
请确保在 Windows 上您使用 / 来分隔路径而不是 \。VS Code 中的 glob 模式需要 / 来分隔路径,但它们将同时匹配路径中的 / 和 \。
如果您尝试字面匹配特殊字符,例如 [ 或 ],请通过将特殊字符放在方括号内(单字符范围)来对其进行转义,以避免其在模式匹配中被解释。反斜杠不会转义它们。例如,要匹配 src/routes/post/[id]/ 下的文件,您将使用模式 src/routes/post/[[]id[]]/**。