Как сделать VS Code для обработки других расширений файлов как определенного языка?

Или есть способ переключить текущий язык файлов, чтобы использовать функцию выделения синтаксиса?

Например, *.jsx самом деле использует JavaScript, но VS Code его не распознает.

Ответ 1

В Visual Studio 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 года). Проверьте доступные шаблоны в примечаниях к выпуску и строки известных языков в документации.

Ответ 2

Удерживайте Ctrl + Shift + P (или cmd на Mac), выберите "Change Language Mode" и там.

Но я все еще не могу найти способ сделать файлы, распознанные VS Code с определенным расширением, определенным некоторым языком.

Ответ 3

Самый простой способ, который я нашел для глобальной ассоциации, - это просто нажать ctrl + km (или ctrl + shift + p и набрать "change language mode") с файлом открытого типа, с которым вы ассоциируете.

Первым выбором будет "Настроить сопоставление файлов для" x "" (независимо от типа файла - см. Прикрепленное изображение). При выборе этого параметра сопоставление типов файлов будет постоянным.

enter image description here

Возможно, это изменилось (возможно?) С момента первоначального вопроса/ответа, и я не знаю, когда), но это проще, чем предыдущие шаги ручного редактирования, и позволяет избежать суеты с идентификаторами, которые могут быть неочевидны.

Ответ 4

например:

// .vscode/settings.json in workspace

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

Ответ 5

Это работает для меня.

enter image description here

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

Ответ 7

Это, например, приведет к тому, что файлы, заканчивающиеся на .variables и .overrides будут обрабатываться так же, как и любой другой файл LESS. С точки зрения раскраски кода, с точки зрения (авто) форматирования. Определите в пользовательских настройках или настройках проекта, как вам нравится.

(Семантический интерфейс использует эти странные расширения, если вам интересно)

Ответ 8

Следующие шаги на https://code.visualstudio.com/docs/customization/colorizer#_common-questions хорошо спомогли мне:

Чтобы расширить существующий колоризатор, вы должны создать простой package.json в новой папке в .vscode/extensions и предоставить атрибут extensionDependencies, указывающий настройку, к которой вы хотите добавить. В приведенном ниже примере расширение .mmd добавлено в раскраситель уценки. Обратите внимание, что не только имя extensionDependency должно соответствовать настройке, но и идентификатор языка должен совпадать с идентификатором языка расширяющего средства, который вы расширяете.

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

Ответ 9

Привет. Я придерживался другого подхода, чтобы решить почти ту же проблему. В моем случае я создал новое расширение, которое добавляет поддержку синтаксиса PHP для файлов Drupal, таких как .module и .inc): https://github.com/mastazi/VS-code-drupal

Как вы можете видеть в коде, я создал новое расширение, а не модифицировал существующее расширение PHP. Очевидно, что я объявляю зависимость от расширения PHP в расширении Drupal.

Преимущество такого способа заключается в том, что если есть обновление для расширения PHP, моя пользовательская поддержка Drupal не теряется в процессе обновления.

Ответ 10

"cmd-k m" привязан к "workbench.action.editor.changeLanguageMode" по умолчанию, но я не нашел способ автоматически связать расширение файла с языковым режимом

Ответ 11

ИНСТРУМЕНТЫ- > Параметры- > Текстовый редактор- > Расширения файлов. Оттуда вы можете добавить расширение и выбрать известное расширение/язык, к которому вы хотите относиться.