Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perkaitan mod bahasa VSCode untuk subfolder dan folder aksara khas

Perkaitan mod bahasa VSCode untuk subfolder dan folder aksara khas

Linda Hamilton
Linda Hamiltonasal
2024-11-01 16:13:02958semak imbas

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"
  }
  ...
}

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``

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

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

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"
  },
  ...
}

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!

Kenyataan:
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