Ответы:
В 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 года). Проверьте доступные шаблоны в примечаниях к выпуску и строки известных языков в документации.
.editorconfig
закрытого файла или выровняйте конфигурации между VSCode и .editorconfig
, последний будет иметь приоритет
${projectdir}/.vscode/settings.json
файл проекта .
Удерживая нажатой клавишу Ctrl + Shift + P (или cmd на Mac), выберите «Изменить режим языка», и вот оно.
Но я до сих пор не могу найти способ сделать VS Code распознанными файлами с определенным расширением, как у определенного языка
Change Language Mode
; Alt+K, M
Cmd+K, M
для Mac.
Самый простой способ, который я нашел для глобальной ассоциации, - это просто нажать ctrl + km (или ctrl + shift + p и набрать «change language mode») с файлом типа, который вы ассоциируете, открытым.
Первым выбором будет «Настроить сопоставление файлов для« x »» (независимо от типа файла - см. Прикрепленное изображение). При выборе этого параметра сопоставление типов файлов будет постоянным.
Возможно, это изменилось (вероятно, изменилось) с момента первоначального вопроса и принятого ответа (и я не знаю, когда оно изменилось), но это намного проще, чем шаги ручного редактирования в принятых и некоторых других ответах, и в целом избегает суетиться с идентификаторами, которые могут быть не очевидны.
settings.json
файла вручную не было понятно, каким должен был быть идентификатор расширения, но этот метод сортировал его!
например:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
"**/layouts/**/*.html": "erb"
- стоит отметить, что раскрывающийся список VSCode «языковой режим» отображает фактическое имя подсветки синтаксиса в скобках, напримерRuby ERB (erb)
Это, например, сделает файлы, оканчивающиеся на .variables
и .overrides
обрабатываемые, как любой другой файл LESS. С точки зрения раскраски кода, с точки зрения (авто) форматирования. Определите в пользовательских настройках или настройках проекта, как вам нравится.
(Семантический интерфейс использует эти странные расширения, если вам интересно)
Я нашел решение здесь: https://code.visualstudio.com/docs/customization/colorizer
Перейти VS_CODE_FOLDER/resources/app/extensions/
и там обновитьpackage.json
Следующие шаги на 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. ком / mastazi / VS-код-друпал
Как вы можете видеть в коде, я создал новое расширение, а не модифицировал существующее расширение PHP. Очевидно, я объявляю зависимость от расширения PHP в расширении Drupal.
Преимущество такого подхода состоит в том, что при обновлении расширения PHP моя пользовательская поддержка Drupal не теряется в процессе обновления.