我在Mac上使用Visual Studio代码来处理Node.js应用程序。有没有办法让Visual Studio代码识别EJS文件中的HTML语法
有没有办法让Visual Studio Code将EJS文件识别为HTML标记?我没有在用户偏好中看到任何文件/方案关联。
我在Mac上使用Visual Studio代码来处理Node.js应用程序。有没有办法让Visual Studio代码识别EJS文件中的HTML语法
有没有办法让Visual Studio Code将EJS文件识别为HTML标记?我没有在用户偏好中看到任何文件/方案关联。
其实,你可以。在“纯文本”选项卡上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代码设置做到这一点VS Code窗口底部并将其更改为HTML
,屏幕截图如下:
有没有什么办法可以使这个默认?我的意思是,这适用于一个文件。当我打开其他.ejs文件时,它仍将它们视为纯文本。 – Kurotsuki
@Kurotsuki查看我的评论http://stackoverflow.com/questions/30264197/is-there-a-way-to-make-visual-studio-code-recognize-html-syntax-in-ejs-files#comment- 55381824关于如何将.ejs作为html语言模式进行永久对待。 – vincent
现在有一个扩展支持。ejs语法高亮显示,请参阅@pablovilas –
继documentation 发出的指示我改变了这个文件C:\ Program Files文件(x86)的\微软VS代码\资源\程序\分机\ HTML \的package.json 所以它看起来是这样的:
{
"name": "html",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"extensionDependencies": [
"html"
],
"contributes": {
"languages": [{
"id": "html",
"aliases": ["ejs"],
"extensions": [".ejs"]
}]
}
}
tried..works for me ..懒得创建一个新的文件夹ATM
的新版本,让我们添加TextMate的片段:
https://code.visualstudio.com/updates#_add-textmate-snippets
也许我们可以添加这一个EJS支持:
https://github.com/gregory-m/ejs-tmbundle/blob/master/Syntaxes/JavaScript%20Template.tmLanguage
虽然这些链接可能与问题有关,但最好在这里包含重要的答案部分,然后添加参考链接。链接页面随时间变化时,仅链接答案将失效。 –
找到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。
这是正确的方法 – Schpaencoder
现在有一个支持.ejs语法高亮显示的扩展,请参阅@pablovilas的答案 –
转到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代码。
这应该是正确的答案。简单的解决方案! – NinjaFart
,但我们不要松散ejs htmlized文件中的ejs(javascript)语法吗? –
现在有一个支持.ejs语法突出显示的扩展,请参阅@pablovilas的答案 –
有一个.ejs支持的扩展。启动VS Code Quick Open(Ctrl + P),粘贴以下命令,然后输入enter。
ext install ejs-language-support
似乎不适用于我使用的VSCode版本(1.6) – Amnon
现在应该将其标记为最佳答案。从v1.7开始工作正常 –
烦人这似乎是你(和我)需要的东西,但对于HTML没有相应的文件夹: http://stackoverflow.com/questions/29956304/is-it-possible-to -associate-a-given-language-with-a-file-extention-in-vscode – mutex