Perkaitan mod bahasa VSCode untuk subfolder dan folder aksara khas

Linda Hamilton
Lepaskan: 2024-11-01 16:13:02
asal
879 orang telah melayarinya

VSCode language mode association for subfolders and special characters folders

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.

Bagaimana untuk menukar mod bahasa untuk semua fail di mana-mana sahaja

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"
  }
  ...
}
Salin selepas log masuk

Cara menukar mod bahasa untuk laluan tertentu

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``
Salin selepas log masuk

Lebih selamat ialah penggunaan ** bermaksud di mana-mana - di laluan atau mana-mana laluan kecil.

{
  "files.associations": {
    "*.css": "tailwindcss",
    "source/_templates/**/*.html": "jinja-html`
  }
  ...
}
Salin selepas log masuk

Bagaimana untuk melepaskan aksara khas untuk fail mod bahasa.persatuan?

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:

  • "{{ cookiecutter.project_slug }}/**/*.py": "jinja-py" kerana { dan } ialah aksara pengumpulan corak glob.
  • "{{{{ cookiecutter.project_slug }}}}/**/*.py": "jinja-py" kerana menggandakan untuk melarikan diri bukanlah mekanisme melarikan diri corak glob VSCode
  • {{ cookiecutter.project_slug }}/**/*.py": "jinja-py" kerana untuk melarikan diri segaris ke belakang, watak melarikan diri tetapi kepada JSON sendiri (contohnya, n).

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"
  },
  ...
}
Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!