參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

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 等設定中的 glob 模式工作方式不同。在設定中,您必須使用 **/example 來匹配工作區中子資料夾 folder1/example 中的名為 example 的資料夾。在搜尋檢視中,預設使用 ** 字首。這些設定中的 glob 模式始終相對於工作區資料夾的路徑進行評估。

常見問題

為什麼 glob 模式不支援特性 X 或 Y?

我們實現了自己的 glob 匹配庫,目標是為大多數典型模式提供最佳效能。如果您期望支援某種 glob 語法,您可以報告一個帶有您的用例的問題。

為什麼我的 glob 模式不起作用?

請確保在 Windows 上您使用 / 來分隔路徑而不是 \。VS Code 中的 glob 模式要求使用 / 來分隔路徑,但它們會同時匹配路徑中的 /\

如果您試圖精確匹配一個特殊字元,例如 [],請將其放在方括號內(單字元範圍)進行轉義,以避免在模式匹配中被解釋。反斜槓不能轉義它們。例如,要匹配 src/routes/post/[id]/ 下的檔案,您可以使用模式 src/routes/post/[[]id[]]/**