有没有办法使Visual Studio Code在EJS文件中识别HTML语法
我在Mac上使用Visual Studio代码来处理Node.js应用程序。
有没有办法让Visual Studio Code将EJS文件识别为HTML标记? 我没有看到用户喜好中的任何文件/scheme关联。
其实,你可以。
正如Andre指出的那样,现在您可以在工作区设置中执行此操作。转到Visual Studio代码设置: File >> Preferences >> User Settings
// Place your settings in this file to overwrite the default settings { // Configure file associations to languages (eg "*.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 (eg "*.extension": "html"). These have precedence over the default associations of the languages installed. "files.associations": {"*.ejs": "html"} }
重新启动Visual Studio代码。
有一个.ejs支持的扩展。 启动VS Code Quick Open(Ctrl + P),粘贴下面的命令,然后inputenter。
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"] }] } }
尝试..为我.. ..懒惰创build一个新的文件夹atm
在VSCode extensions
文件夹中findhtml
扩展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" }] } }
顺便说一下,正确的方法应该是在extensions
文件夹中创build一个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编辑器相关联:
工具>选项>文本编辑器>文件扩展名
在扩展名中input“ejs”。 从下拉select中select“HTML编辑器”。 点击添加。 点击OK。
如果您打开了一个ejs文件,请closures它并重新打开。