다른 파일 확장자를 특정 언어로 처리하기 위해 VS Code를 만드는 방법은 무엇입니까?


332

또는 구문 강조 기능을 사용하도록 현재 파일의 언어를 전환하는 방법이 있습니까?

예를 들어 *.jsx실제로는 JavaScript를 사용하지만 VS Code는이를 인식하지 못합니다.

답변:


500

에서 비주얼 스튜디오 코드 , 당신은 당신에 강조 언어에 대한 지속적인 파일 연결을 추가 할 수 있습니다 settings.json같은 파일 :

// Place your settings in this file to overwrite the default settings
{
  "some_setting": custom_value,
  ...

  "files.associations": {
    "*.thor": "ruby",
    "*.jsx": "javascript",
    "Jenkinsfile*": "groovy"
  }
}

Ctrl+ Shift+ p를 사용한 다음을 입력 할 수 있습니다 settings JSON. 환경 설정 : 설정 열기 (JSON) 를 선택 하여을 엽니settings.json.

Files: Associations기능은 Visual Studio Code 버전 1.0 (2016 년 3 월)에서 처음 도입되었습니다. 릴리스 정보에서 사용 가능한 와일드 카드 패턴 과 설명서에서 알려진 언어 문자열 을 확인하십시오.


6
연결 값은 이름이 아닌 언어 / 플러그인의 ID 여야합니다. 예를 들어 내가 설치 한 VBScript 플러그인에서 ID는 vbs입니다. "* .vms": "vbs"는 올바르게 연결할 사용자 지정 확장명을 가져옵니다.
매트 메릴

비슷한 문제에 직면했습니다. 파일 연결을 추가하는 것은 작동하지 않는 경우, 당신은 필요가 없습니다 있는지 확인 .editorconfig파일 가까이, 또는 VSCode 사이의 구성을 정렬 .editorconfig, 후자가 우선합니다
RecuencoJones

이 설정을 프로젝트 특정 ${projectdir}/.vscode/settings.json파일 에 넣을 수도 있습니다.
Jason

108

Ctrl + Shift + P (또는 Mac의 경우 cmd)를 누른 상태에서 "언어 모드 변경"을 선택하십시오.

그러나 여전히 특정 언어로 특정 확장자를 가진 VS 코드 인식 파일을 만드는 방법을 찾을 수 없습니다.


3
바로 가기가있는 것 같습니다 Change Language Mode. Alt+K, M
Stafford Williams

Cmd+K, MMac 용.
GreeKatrina

이것은 매우 가능합니다. 아래 답변을 참조하십시오 : stackoverflow.com/a/51228725/3307796
JoelAZ

69

글로벌 연결에서 가장 쉽게 찾은 방법은 열려있는 연결 형식의 파일을 사용하여 ctrl + km (또는 ctrl + shift + p를 입력하고 "언어 모드 변경")하는 것입니다.

첫 번째 선택에서 " 'x'에 대한 파일 연결 구성"(파일 형식에 관계없이-첨부 된 이미지 참조)을 선택하면 파일 형식 연결이 영구적으로됩니다.

여기에 이미지 설명을 입력하십시오

원래 질문과 대답이 수락 된 이후로 변경되었을 수 있습니다 (아마도 언제 바뀌 었는지 모르겠습니다). 수락 및 다른 대답의 수동 편집 단계보다 훨씬 쉽고 완전히 피할 수 있습니다. 명확하지 않을 수있는 ID를 가진 muss.


2
고마워-이것은 나를 위해 일했다. settings.json파일을 수동으로 편집 할 때 확장자 ID가 무엇인지 명확하지 않았지만이 방법으로 정렬했습니다!
ccbunney

1
@ccbunney를 환영합니다. 도움이되어 기쁩니다. 그것은 내가 가진 것과 똑같은 문제였습니다. 그리고 필자는 필자가 필요한 확장명 ID를 알지 못했습니다. 어쨌든, 나는이 솔루션을 스스로 찾아서 정말 기뻤고 다른 ppl을 돕는 것이 멋지다! : D
JoelAZ

33

예 :

// .vscode/settings.json in workspace

{
  "files.associations": {
    "*Container.js": "javascriptreact",
    "**/components/*/*.js": "javascriptreact",
    "**/config/routes.js": "javascriptreact"
  }
}

1
좋은. 경로가 동일하지만 언어 파서가 다른 경우에 유용합니다. 예를 들어 yml이 한 폴더에서 콩 코스 파이프 라인을 처리하고 다른 폴더에서는 Ansible 파일을 처리 할 수 ​​있습니다.
Christian Maslen

내가 할 수 있다면 나는 이것을 두 번 찬성했다. 반드시 .html 확장자 내 Nanoc 레이아웃과 파셜의 구문을 유지하기 위해 노력하고,이 그것을 해결 : "**/layouts/**/*.html": "erb"-의 가치가 그 VSCode "언어 모드"드롭 다운 쇼의 실제 이름 구문 형광펜에서 괄호 예를 들어 지적Ruby ERB (erb)
Everitt 데이브


12

이것은, 예를 들어, 파일이 끝나는 것 .variables.overrides다른 모든 LESS 파일처럼 취급된다. (자동) 형식화와 관련하여 코드 채색 측면에서. 사용자 설정 또는 프로젝트 설정에서 원하는대로 정의하십시오.

(시맨틱 UI는 궁금한 경우를 위해 이러한 이상한 확장을 사용합니다)



8

https://code.visualstudio.com/docs/customization/colorizer#_common-questions 의 단계를 수행하면 나를 위해 잘 작동했습니다.

기존 색상을 확장하려면 .vscode / extensions 아래의 새 폴더에 간단한 package.json을 만들고 추가 할 사용자 지정을 지정하는 extensionDependencies 속성을 제공하십시오. 아래 예에서 확장명 .mmd가 마크 다운 컬러 라이저에 추가됩니다. extensionDependency 이름이 사용자 지정 내용과 일치해야 할뿐만 아니라 언어 ID는 확장중인 컬러 라이저의 언어 ID와 일치해야합니다.

{
    "name": "MyMarkdown",
    "version": "0.0.1",
    "engines": {
        "vscode": "0.10.x"
    },
    "publisher": "none",
    "extensionDependencies": [
        "markdown"
    ],
    "contributes": {
        "languages": [{
            "id": "markdown",
            "aliases": ["mmd"],
            "extensions": [".mmd"]
        }]
    }
}

5

필자는 필자의 경우 Drupal 관련 파일 (예 : .module 및 .inc)에 대한 지원을 강조하는 PHP 구문을 추가하는 새로운 확장 기능을 추가 한 새로운 확장 기능을 만들었습니다 : https : // github. com / mastazi / VS- 코드-중복

코드에서 볼 수 있듯이 기존 PHP 확장을 수정하는 대신 새 확장을 만들었습니다. 분명히 Drupal 확장에서 PHP 확장에 대한 종속성을 선언합니다.

이렇게하면 PHP 확장에 대한 업데이트가있는 경우 업데이트 프로세스에서 Drupal에 대한 사용자 지정 지원이 손실되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.