IT

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

lottoking 2020. 3. 30. 08:54
반응형

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


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

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


에서 비주얼 스튜디오 코드 , 당신은 당신에 강조 언어에 대한 지속적인 파일 연결을 추가 할 수 있습니다 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 월)에서 처음 도입되었습니다. 릴리스 정보에서 사용 가능한 와일드 카드 패턴설명서에서 알려진 언어 문자열 을 확인하십시오.


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

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


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

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

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

원래 질문 / 답변 이후로 (아마도?) 변경되었을 수 있지만시기를 모르겠습니다.) 이전에 제공된 수동 편집 단계보다 쉽고 명확하지 않은 ID로 생각할 필요가 없습니다.


예 :

// .vscode/settings.json in workspace

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

이것은 나를 위해 작동합니다.

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

{
"files.associations": {"*.bitesize": "yaml"}
 }

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

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


https://code.visualstudio.com/docs/customization/colorizer 에서 해결책을 찾았습니다.

가서 VS_CODE_FOLDER/resources/app/extensions/업데이트package.json


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

안녕하세요, 나는 거의 같은 문제를 해결하기 위해 다른 접근법을 따랐습니다. 제 경우에는 Drupal 관련 파일 (예 : .module 및 .inc)에 대한 PHP 구문 강조 표시 지원을 추가하는 새로운 확장 기능을 만들었습니다 : https : // github. com / mastazi / VS- 코드-중복

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

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

참고 : https://stackoverflow.com/questions/29973619/how-to-make-vs-code-to-treat-other-file-extensions-as-certain-language

반응형