全局模式参考

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

全局模式语法

VS Code 支持以下全局语法:

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

注意:路径由/分隔,即使在Windows上也不是\。但在应用时,glob模式将匹配带有斜杠和反斜杠的路径。

特殊情况

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

常见问题

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

我们实现了自己的glob匹配库,旨在为大多数典型模式提供最佳性能。如果您期望支持某种glob语法,您可以报告一个包含您使用场景的问题。

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

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