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[]]/**
。