Или есть способ переключить язык текущего файла, чтобы синтаксис был правильно выделен?
Например, *.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 г.). Проверьте доступные шаблоны с подстановочными знаками в примечаниях к выпуску и строки на известном языке в документации.
.editorconfig
, или выровняйте конфигурации между VSCode и .editorconfig
, последний будет иметь приоритет.
- person RecuencoJones; 22.06.2018
${projectdir}/.vscode/settings.json
файл для конкретного проекта.
- person Jason; 18.01.2020
Удерживая Ctrl + Shift + P (или cmd на Mac), выберите «Изменить языковой режим», и вот оно.
Но я до сих пор не могу найти способ сделать файлы, распознаваемые VS Code, с определенным расширением на определенном языке.
Change Language Mode
; Alt+K, M
- person Stafford Williams; 25.03.2018
Cmd+K, M
для Mac.
- person Katrina; 19.12.2019
Самый простой способ, который я нашел для глобальной ассоциации, - это просто нажать ctrl + k m (или ctrl + shift + p и ввести «изменить языковой режим») с файлом того типа, который вы связываете, открытым.
В первом выборе будет «Настроить сопоставление файлов для 'x'» (независимо от типа файла - см. Прикрепленное изображение). Выбор этого параметра делает сопоставление типа файла постоянным.
Возможно, это изменилось (возможно, изменилось) с момента исходного вопроса и принятого ответа (и я не знаю, когда он изменился), но это намного проще, чем шаги ручного редактирования в принятом и некоторых других ответах, и полностью позволяет избежать чтобы возиться с идентификаторами, которые могут быть неочевидными.
settings.json
файла было непонятно, каким должен быть идентификатор расширения, но этот метод отсортировал его!
- person ccbunney; 15.10.2019
java
, как указано в code.visualstudio. com / docs / languages /, но мы не сможем установить расширения VS Code. Например, я установил расширение Apache для файлов Apache *.conf
, и идентификатор языка оказался apacheconf
- как я мог это догадаться? Я выяснил это, следуя приведенному выше решению. Затем я могу отредактировать settings.json
для дальнейшего взлома сопоставления.
- person Vincent Yin; 16.05.2021
Это, например, приведет к тому, что файлы, заканчивающиеся на .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"]
}]
}
}
Вы можете добавить расширение md.html к своим settings.json
ассоциациям файлов, чтобы включить форматирование markdown для таких файлов markdeep :
"files.associations": {
"*.md.html": "markdown"
},
Файл settings.json
находится в разных местах в зависимости от вашей ОС. Например, в macOS это ~/Library/Application Support/Code/User/settings.json
. Вы можете открывать и редактировать его с помощью Ctrl + Shift + p в VS Code.
Я использовал другой подход для решения почти той же проблемы. В моем случае я сделал новое расширение, которое добавляет поддержку подсветки синтаксиса PHP для файлов, специфичных для Drupal (таких как .module и .inc): https://github.com/mastazi/VS-code-drupal
Как вы можете видеть в коде, я создал новое расширение, а не модифицировал существующее расширение PHP. Очевидно, я заявляю о зависимости от расширения PHP в расширении Drupal.
Преимущество такого способа заключается в том, что при обновлении расширения PHP моя индивидуальная поддержка Drupal не теряется в процессе обновления.
"**/layouts/**/*.html": "erb"
- стоит отметить, что раскрывающийся список языкового режима VSCode показывает фактическое имя подсветки синтаксиса в скобках, например. Ruby ERB (erb)
- person Dave Everitt; 31.12.2019
equinusocio.vsc-material-theme-icons
неправильно сопоставляет значки с этими типами.
- person ux.engineer; 20.08.2020