Globパターン リファレンス
Visual Studio Code は、多くのコンポーネントでglobパターンを使用します。例としては、検索などの機能でファイルやフォルダーの包含/除外を設定したり、ファイルエクスプローラーからファイルを非表示にしたり読み取り専用にマークしたり、プログラミング言語固有のファイル関連付けを設定したりすることが挙げられます。
Globパターン構文
VS Code は以下のglob構文をサポートしています
- パスセグメントを区切るための
/
*
- パスセグメント内の0個以上の文字に一致します。?
- パスセグメント内の1文字に一致します。**
- 0個を含む任意の数のパスセグメントに一致します。- 条件をグループ化するための
{}
(例:{**/*.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パターンではパスの区切りに/
が必要ですが、パス内の/
と\
の両方に一致します。