现已发布!阅读关于 11 月新增功能和修复的内容。

Glob 模式参考

Visual Studio Code 在许多组件中使用了 glob 模式。示例包括在诸如搜索等功能中设置文件和文件夹的包含/排除项,从文件资源管理器中隐藏文件或将其标记为只读,以及设置特定于编程语言的文件关联。

Glob 模式语法

VS Code 支持以下 glob 语法

  • / 用于分隔路径段
  • * 匹配路径段中的零个或多个字符
  • ? 匹配路径段中的一个字符
  • ** 匹配任意数量的路径段,包括零个
  • {} 用于分组条件(例如 {**/*.html,**/*.txt} 匹配所有 HTML 和文本文件)
  • [] 用于声明要匹配的字符范围(example.[0-9] 匹配 example.0example.1 等)
  • [!...] 用于否定要匹配的字符范围(example.[!0-9] 匹配 example.aexample.b,但不匹配 example.0

注意:路径分隔符是 / 而不是 \,即使在 Windows 上也是如此。但在应用时,glob 模式将匹配同时包含斜杠和反斜杠的路径。

特殊情况

搜索视图中的 glob 模式与设置(如 files.excludesearch.exclude)中的工作方式不同。在设置中,您必须使用 **/example 来匹配工作区中位于子文件夹 folder1/example 下名为 example 的文件夹。在搜索视图中,默认假定存在 ** 前缀。这些设置中的 glob 模式始终相对于工作区文件夹的路径进行评估。

常见问题

为什么 glob 模式不支持功能 X 或 Y?

我们实现了自己的 glob 匹配库,目标是为大多数典型模式提供最佳性能。如果您期望支持某种特定的 glob 语法,可以使用您的用例报告问题。

为什么我的 glob 模式不起作用?

请确保在 Windows 上使用 / 来分隔路径而不是 \。VS Code 中的 glob 模式要求使用 / 来分隔路径,但它们会同时匹配路径中的 /\

如果您想字面上匹配特殊字符(如 []),请将其放在方括号内(单字符范围)进行转义,以避免在模式匹配中被解释。反斜杠无法转义它们。例如,要匹配 src/routes/post/[id]/ 下的文件,您将使用模式 src/routes/post/[[]id[]]/**

© . This site is unofficial and not affiliated with Microsoft.