Visual Studio Code (VSCode) mempunyai banyak format fail yang disokong. Berdasarkan nama fail dan sambungan, VSCode mencari mod bahasa. Selalunya, dengan syarat lalai yang wajar tidak mengapa. Tetapi bagaimana jika anda mahukan mod bahasa yang berbeza untuk folder yang berbeza?
VSCode mempunyai dalam .vscode/settings.json fail objek files.associations. Ia adalah peta corak glob kepada mod bahasa. Lihat sintaks corak glob yang disokong dalam dokumen VSCode.
Varian paling ringkas. Semua fail memerlukan mod bahasa yang berbeza.
Sebagai contoh, apabila menggayakan dengan Tailwind CSS dan anda memasang sambungan CSS Tailwind untuk VSCode, anda mahu menukar semua *.css fail kepada mod tailwindcss dan bukannya css biasa.
{ "files.associations": { "*.css": "tailwindcss" } ... }
Ia juga bukan sesuatu yang luar biasa, bahawa fail di bawah subfolder tertentu memerlukan mod bahasa yang berbeza.
Sebagai contoh, apabila bertemakan dokumentasi Sphinx, anda mencipta banyak fail HTML yang bukan HTML tulen, tetapi HTML Jinja. Saya memasang sambungan Better Jinja yang menyediakan mod jinja-html.
"source/_templates/*.html": "jinja-html``
Lebih selamat ialah penggunaan ** bermaksud di mana-mana - di laluan atau mana-mana laluan kecil.
{ "files.associations": { "*.css": "tailwindcss", "source/_templates/**/*.html": "jinja-html` } ... }
Kini bahagian rumit yang saya temui semasa menyediakan templat permulaan Tema Sphinx baharu berdasarkan penjana templat Cookiecutter.
Projek pemotong kuki menggunakan folder bernama {{ cookiecutter.project_slug }}. Hanya di bawahnya saya mahu menukar persatuan, mis. untuk *.py daripada py kepada jinja-py.
Melepaskan watak khas corak glob (seperti *, {, dsb.) tidak diterangkan dalam dokumen VSCode, tetapi ia boleh dilakukan.
Pertama, ini TIDAK berfungsi:
escape the backslash akan melakukan silap mata ("\{\{ cookiecutter.project_slug \}\}/**/*.css": "tailwindcss"). Contohnya:
{ "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" }, ... }
Atas ialah kandungan terperinci Perkaitan mod bahasa VSCode untuk subfolder dan folder aksara khas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!