Відповіді:
У коді Visual Studio ви можете додати стійкі асоціації файлів для виділення мови у 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-кодом із певним розширенням як певну мову.
Change Language Mode
; Alt+K, M
Cmd+K, M
для Mac.
Найпростіший спосіб, який я знайшов для глобальної асоціації, - це просто ctrl + km (або ctrl + shift + p і ввести "змінити режим мови") з файлом типу, який ви асоціюєте, відкритим.
У перших виборах буде "Налаштувати асоціацію файлів для" 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
обробляються так само, як і будь-який інший файл. З точки зору забарвлення коду, з точки зору (автоматичного) форматування. Визначте в налаштуваннях користувача або налаштуваннях проекту, як вам подобається.
(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, для мене добре працювали:
Щоб розширити існуючий колоризатор, ви створили простий package.json у новій папці під .vscode / extensions та надали атрибут extensionDependitions, що визначає налаштування, до якого потрібно додати. У наведеному нижче прикладі до колоризатора розмітки додається розширення .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-код-drupal
Як ви бачите в коді, я створив нове розширення, а не змінював існуюче розширення PHP. Очевидно, я заявляю про залежність від розширення PHP у розширенні Drupal.
Перевага зробити це таким чином, що якщо є оновлення розширення PHP, моя спеціальна підтримка Drupal не втрачається в процесі оновлення.