Glob パターン リファレンス
Visual Studio Code は、多くのコンポーネントで glob パターンを使用しています。例としては、検索などの機能でファイルとフォルダーの include/exclude を設定したり、ファイルエクスプローラーからファイルを非表示にしたり、読み取り専用にしたり、プログラミング言語固有のファイル関連付けを設定したりすることが挙げられます。
Glob パターン構文
VS Code は、次の glob 構文をサポートしています。
/
パスセグメントを区切る*
パスセグメント内の 0 個以上の文字に一致する?
パスセグメント内の 1 文字に一致する**
パスセグメントの数に関係なく一致する (なしの場合も含む){}
条件をグループ化する (例:{**/*.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 などの設定とは動作が異なります。設定では、ワークスペース内の folder1/example
サブフォルダーにある example
という名前のフォルダーに一致させるには、**/example
を使用する必要があります。検索ビューでは、**
プレフィックスが想定されています。これらの設定の glob パターンは、常にワークスペースフォルダーのパスを基準に評価されます。
よくある質問
glob パターンが機能 X または Y をサポートしていないのはなぜですか?
最も一般的なパターンで最適なパフォーマンスを提供することを目標に、独自の glob マッチングライブラリ を実装しました。特定の glob 構文がサポートされることを期待する場合は、ユースケースとともに問題を報告してください。
glob パターンが機能しないのはなぜですか?
Windows では、パスの区切りに \
ではなく /
を使用していることを確認してください。VS Code の glob パターンでは、パスの区切りに /
が必要ですが、パス内の /
と \
の両方に一致します。