>  기사  >  백엔드 개발  >  하위 폴더 및 특수 문자 폴더에 대한 VSCode 언어 모드 연결

하위 폴더 및 특수 문자 폴더에 대한 VSCode 언어 모드 연결

Linda Hamilton
Linda Hamilton원래의
2024-11-01 16:13:02957검색

VSCode language mode association for subfolders and special characters folders

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 템플릿 생성기를 기반으로 한 새로운 스핑크스 테마 스타터 템플릿을 준비하면서 발견한 까다로운 부분입니다.

Cookiecutter 프로젝트는 {{ cookiecutter.project_slug }}라는 폴더를 사용합니다. 그 아래에서만 연관을 변경하고 싶습니다. *.py의 경우 py에서 jinja-py로.

이스케이프 glob 패턴 특수 문자(예: *, { 등)는 VSCode 문서에 설명되어 있지 않지만 가능합니다.

먼저, 다음은 작동하지 않습니다:

  • "{{ cookiecutter.project_slug }}/**/*.py": "jinja-py" 왜냐하면 {와 }는 glob 패턴의 그룹화 문자이기 때문입니다.
  • "{{{{ cookiecutter.project_slug }}}}/**/*.py": "jinja-py" 왜냐하면 이스케이프를 두 배로 하는 것은 VSCode glob 패턴 이스케이프 메커니즘이 아니기 때문입니다
  • {{ cookiecutter.project_slug }}/**/*.py": "jinja-py" 백슬래시 이스케이프의 경우 이스케이프 문자이지만 JSON 자체(예: n)에 해당하기 때문입니다.

백슬래시를 탈출하면 문제가 해결됩니다("\{\{ 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.