我在Mac上使用Visual Studio Code来处理Node.js应用程序。
有没有办法让Visual Studio Code将EJS文件识别为HTML标记?我没有在用户首选项中看到任何文件/方案关联。
答案 0 :(得分:105)
实际上,你可以。
正如Andre指出的那样,现在您可以在工作区设置中执行此操作。转到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"}
}
点击VS Code窗口底部的“纯文本”标签,将其更改为HTML
,屏幕截图如下:
答案 1 :(得分:63)
转到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代码。
答案 2 :(得分:26)
.ejs支持有一个扩展名。启动VS Code Quick Open(Ctrl + P),粘贴以下命令,然后键入enter。
ext install ejs-language-support
答案 3 :(得分:20)
遵循documentation给出的指示 我更改了这个文件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"]
}]
}
}
试了..为我工作..懒得创建一个新的文件夹atm
答案 4 :(得分:6)
在VSCode html
文件夹中找到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。
答案 5 :(得分:1)
新版本,允许我们添加textmate片段:
https://code.visualstudio.com/updates#_add-textmate-snippets
也许我们可以为ejs支持添加这个:
https://github.com/gregory-m/ejs-tmbundle/blob/master/Syntaxes/JavaScript%20Template.tmLanguage
答案 6 :(得分:0)
在Visual Studio 2015社区中,我能够将ejs扩展名与html编辑器相关联:
工具>选项>文本编辑器>文件扩展名
在扩展程序中输入“ejs”。从下拉列表中选择“HTML编辑器”。单击添加。单击“确定”。
如果您打开了一个ejs文件,请将其关闭并重新打开。