Visual Studio Code (VSCode) では、多数のファイル形式がサポートされています。ファイル名と拡張子に基づいて、VSCode は言語モードを見つけます。多くの場合、適切なデフォルト値を設定しておけば問題ありません。しかし、フォルダーごとに異なる言語モードが必要な場合はどうすればよいでしょうか?
VSCode の .vscode/settings.json ファイルには、files.associations オブジェクトがあります。これは、言語モードへの グロブ パターン のマップです。 VSCode ドキュメントでサポートされている glob パターン構文を参照してください。
最も単純なバリアント。すべてのファイルには異なる言語モードが必要です。
たとえば、Tailwind CSS でスタイルを設定し、VSCode 用の Tailwind CSS 拡張機能をインストールする場合、すべての *.css ファイルをプレーン CSS ではなく tailwindcss モードに変更したいとします。
{ "files.associations": { "*.css": "tailwindcss" } ... }
特定のサブフォルダー内のファイルに別の言語モードが必要になることも珍しいことではありません。
たとえば、Sphinx ドキュメントにテーマを設定する場合、純粋な HTML ではなく、Jinja HTML である HTML ファイルを大量に作成します。 jinja-html モードを提供する Better Jinja 拡張機能をインストールします。
"source/_templates/*.html": "jinja-html``
パスまたはサブパスで、どこでもを意味する ** を使用する方が安全です。
{ "files.associations": { "*.css": "tailwindcss", "source/_templates/**/*.html": "jinja-html` } ... }
ここで、Cookiecutter テンプレート ジェネレーターに基づいたスターター テンプレートの新しい Sphinx テーマを準備中に見つけた、難しい部分を説明します。
Cookiecutter プロジェクトは、{{ cookiecutter.project_slug }} という名前のフォルダーを使用します。その下でのみ関連付けを変更したいと考えています。 for *.py を py から jinja-py に変換します。
グロブ パターンの特殊文字 (*、{ など) のエスケープについては、VSCode ドキュメントでは説明されていませんが、可能です。
第一に、これらは 機能しません:
バックスラッシュをエスケープします がうまくいきます ("\{\{ cookiecutter.project_slug \}\}/**/*.css": "tailwindcss")。例:
{ "files.associations": { // CSS files are Tailwind "\{\{ cookiecutter.project_slug \}\}/**/*.css": "tailwindcss", // HTML files are Jinja "\{\{ cookiecutter.project_slug \}\}/**/*.html": "jinja-html", "\{\{ cookiecutter.project_slug \}\}/**/*.py": "jinja-py", "\{\{ cookiecutter.project_slug \}\}/**/*.toml": "jinja-toml", "\{\{ cookiecutter.project_slug \}\}/**/*.json": "jinja-json" }, ... }
以上がサブフォルダーと特殊文字フォルダーの VSCode 言語モードの関連付けの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。