Или есть способ переключить текущий язык файлов, чтобы использовать функцию выделения синтаксиса?
Например, *.jsx
самом деле использует JavaScript, но VS Code его не распознает.
Или есть способ переключить текущий язык файлов, чтобы использовать функцию выделения синтаксиса?
Например, *.jsx
самом деле использует JavaScript, но VS Code его не распознает.
В 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 года). Проверьте доступные шаблоны в примечаниях к выпуску и строки известных языков в документации.
Удерживайте Ctrl + Shift + P (или cmd на Mac), выберите "Change Language Mode" и там.
Но я все еще не могу найти способ сделать файлы, распознанные VS Code с определенным расширением, определенным некоторым языком.
Самый простой способ, который я нашел для глобальной ассоциации, - это просто нажать ctrl + km (или ctrl + shift + p и набрать "change language mode") с файлом открытого типа, с которым вы ассоциируете.
Первым выбором будет "Настроить сопоставление файлов для" x "" (независимо от типа файла - см. Прикрепленное изображение). При выборе этого параметра сопоставление типов файлов будет постоянным.
Возможно, это изменилось (возможно?) С момента первоначального вопроса/ответа, и я не знаю, когда), но это проще, чем предыдущие шаги ручного редактирования, и позволяет избежать суеты с идентификаторами, которые могут быть неочевидны.
например:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
Это работает для меня.
{
"files.associations": {"*.bitesize": "yaml"}
}
Я нашел решение здесь: https://code.visualstudio.com/docs/customization/colorizer
Перейдите в VS_CODE_FOLDER/resources/app/extensions/
и там обновите package.json
Это, например, приведет к тому, что файлы, заканчивающиеся на .variables
и .overrides
будут обрабатываться так же, как и любой другой файл LESS. С точки зрения раскраски кода, с точки зрения (авто) форматирования. Определите в пользовательских настройках или настройках проекта, как вам нравится.
(Семантический интерфейс использует эти странные расширения, если вам интересно)
Следующие шаги на 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"]
}]
}
}
Привет. Я придерживался другого подхода, чтобы решить почти ту же проблему. В моем случае я создал новое расширение, которое добавляет поддержку синтаксиса PHP для файлов Drupal, таких как .module и .inc): https://github.com/mastazi/VS-code-drupal
Как вы можете видеть в коде, я создал новое расширение, а не модифицировал существующее расширение PHP. Очевидно, что я объявляю зависимость от расширения PHP в расширении Drupal.
Преимущество такого способа заключается в том, что если есть обновление для расширения PHP, моя пользовательская поддержка Drupal не теряется в процессе обновления.
"cmd-k m" привязан к "workbench.action.editor.changeLanguageMode" по умолчанию, но я не нашел способ автоматически связать расширение файла с языковым режимом
ИНСТРУМЕНТЫ- > Параметры- > Текстовый редактор- > Расширения файлов. Оттуда вы можете добавить расширение и выбрать известное расширение/язык, к которому вы хотите относиться.