#visual-studio-code #vscode-extensions
#visual-studio-code #vscode-расширения
Вопрос:
Я пытаюсь создать пользовательское языковое расширение для VS Code. Я в основном следовал инструкциям, приведенным здесь и здесь .
Когда я запускаю расширение на хосте разработки расширений, нажимая клавишу F5, все работает нормально. Как только я пытаюсь установить свое расширение и использовать его в VS Code, оно больше не отображается.
Отсюда я понял, что у меня есть три варианта установки моего расширения
- свяжите мое расширение с vsix с помощью vsce и установите его из VS Code
- установите пакет vsix из командной строки с помощью
code --install-extension myExt.vsix
- скопируйте содержимое в папку в
%userprofile%.vscodeextensions
Все три параметра дают один и тот же результат: подсветка синтаксиса не работает для ключевых слов и т. Д., Но Она работает для комментариев. Используя инспектор области видимости, я вижу, что все токены правильно обнаружены и классифицированы, поэтому расширение, похоже, в основном работает, но код не подсвечивается (опять же, за исключением комментариев, как ни странно).
Единственная подсказка, которую я получаю при установке через командную строку:
Установка расширений… (узел: 34352) [DEP0005] Предупреждение об устаревании: Buffer() устарел из-за проблем с безопасностью и удобством использования. Пожалуйста, используйте вместо этого методы Buffer.alloc(), Buffer.allocUnsafe() или Buffer.from() . Расширение ‘vscode-knitout.vsix’ было успешно установлено.
но я сомневаюсь, что это имеет какое-либо отношение к проблеме.
Это мой package.json
файл:
{
"name": "vscode-myLanguage",
"displayName": "myLanguage",
"description": "myLanguage language extension for VS Code",
"version": "0.0.1",
"publisher": "me",
"author": {
"name": "name"
},
"icon": "images/icon.png",
"galleryBanner": {
"color": "#C80000",
"theme": "dark"
},
"engines": {
"vscode": "^1.53.0"
},
"license": "SEE LICENSE IN LICENSE.txt",
"repository": {
"type": "git",
"url": "https://some.git.url"
},
"homepage": "https://our.website",
"categories": [
"Programming Languages"
],
"contributes": {
"languages": [{
"id": "myLanguage",
"aliases": ["myLanguage", "myLanguage"],
"extensions": [".m",".myLanguage"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "myLanguage",
"scopeName": "source.myLanguage",
"path": "./syntaxes/myLanguage.tmLanguage.json"
}],
"themes": [
{
"label": "myLanguage-dark",
"uiTheme": "vs-dark",
"path": "./themes/myLanguage-vs-dark-color-theme.json"
}
]
}
}
Когда я запускаюсь через узел разработки расширений, инспектор области правильно распознает области языка и textmate и соответствующее правило темы для «переднего плана». Когда я запускаю VS Code с установленным / скопированным расширением, инспектор области говорит «Нет выбора темы» для «переднего плана», но все остальное (область, язык) выглядит правильно.
В чем здесь проблема? Есть ли где-нибудь очень простой пример для ссылки?