Я использую Visual Studio Code на Mac для работы с приложениями Node.js.
Есть ли способ заставить Visual Studio Code распознавать файлы EJS как разметку HTML? Я не видел никакой ассоциации файлов и схем в настройках пользователя.
Я использую Visual Studio Code на Mac для работы с приложениями Node.js.
Есть ли способ заставить Visual Studio Code распознавать файлы EJS как разметку HTML? Я не видел никакой ассоциации файлов и схем в настройках пользователя.
Собственно, вы можете.
Как указывает Андре, теперь вы можете сделать это в настройках рабочей области. Перейти к настройкам кода Visual Studio: File >> Preferences >> User Settings
// Place your settings in this file to overwrite the default settings
{
// Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.
"files.associations": {"*.ejs": "html"}
}
Перейдите в Настройки кода Visual Studio. Файл → Настройки > Настройки пользователя
Добавьте эту строку в settings.json.
// Place your settings in this file to overwrite the default settings
{
// Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.
"files.associations": {"*.ejs": "html"}
}
Перезапустите Visual Studio Code.
Существует расширение для поддержки .ejs. Запустите VS Code Quick Open (Ctrl + P), вставьте следующую команду и введите enter.
ext install ejs-language-support
Следуя указаниям Я изменил этот файл c:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\html\package.json поэтому он выглядит так:
{
"name": "html",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"extensionDependencies": [
"html"
],
"contributes": {
"languages": [{
"id": "html",
"aliases": ["ejs"],
"extensions": [".ejs"]
}]
}
}
try..works for me..too ленив создать новую папку atm
Найдите расширение html
в папке VSCode extensions
:
../app/extensions/html
что на MacOS X есть
/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html
а в Windows -
c:\Program Files(x86)\Microsoft VS Code\resources\app\extensions\html\package.json
Теперь отредактируйте файл package.json
, добавив .ejs
массив extensions
:
{
"name": "html",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"contributes": {
"languages": [{
"id": "html",
"extensions": [ ".html", ".htm", ".shtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm", ".ejs" ],
"aliases": [ "HTML", "htm", "html", "xhtml" ],
"mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template"]
}],
"grammars": [{
/* "language": "html", not yet enabled*/
"scopeName": "text.html.basic",
"path": "./syntaxes/HTML.plist"
}]
}
}
Кстати, правильным способом должно быть создание ejs
extension
в папке extensions
, а затем добавление:
ejs/
ejs/package.json
ejs/snippet/
ejs/snippet/ejs.json
ejs/syntaxes/
ejs/syntaxes/EJS.plist
Конечно, это должно иметь синтаксис/грамматику EJS, но мы можем просто дублировать html файл, поэтому из папки расширений:
cd html/
cp -r * ../ejs/
package.json
тогда может быть как
{
"name": "ejs",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"contributes": {
"languages": [{
"id": "ejs",
"extensions": [ ".ejs" ],
"aliases": [ "EJS", "ejs" ],
"mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template"]
}],
"grammars": [{
"scopeName": "text.html.basic",
"path": "./syntaxes/EJS.plist"
}]
}
}
измените syntaxes/HTML.plist
только на syntaxes/EJS.plist
.
Затем перезапустите VSCode.
Новая версия, позволяющая добавлять фрагменты textmate:
https://code.visualstudio.com/updates#_add-textmate-snippets
возможно, мы можем добавить это для поддержки ejs:
https://github.com/gregory-m/ejs-tmbundle/blob/master/Syntaxes/JavaScript%20Template.tmLanguage
В сообществе Visual Studio 2015 мне удалось связать расширение ejs с редактором html:
Инструменты > Параметры > Текстовый редактоp > Расширение файла
Введите "ejs" в расширение. Выберите "Редактор HTML" в раскрывающемся списке. Нажмите "Добавить". Нажмите "ОК".
Если у вас открыт файл ejs, закройте его и снова запустите.