我正在尝试按照 本教程 并在 VS Code 中的 EJS 中编写一些代码。我按照视频的说明运行
npm i express ejs
来安装 Express 和 EJS,控制台中没有弹出任何错误。但是,在右下角(蓝色栏中)它仍然显示 HTML,当我单击此更改语言时,EJS 不会出现在列表中。
我在这里遗漏了什么吗?我还应该遵循另一个步骤吗?任何帮助将不胜感激。
默认情况下,VSCode 没有 EJS 模板文件的语法突出显示。您需要安装一个像这样的插件 - EJS 语言支持。
您还需要为
.ejs
文件配置文件关联。为此,请键入以下命令(使用 CTRL + SHIFT + P
)- Change language mode
,然后选择 Configure file association for .ejs
,然后从下拉列表中选择 HTML
。
工作解决方案(2021 年 9 月)
并将这些设置添加到 VScode 中,
"files.associations": {
"*.ejs": "html"
},
"emmet.includeLanguages": {
"ejs": "html",
},
"html.format.templating": true
玩得开心😎
终于找到这个问题的原因了。
最重要的是,我安装了 EJS 语言支持 扩展,然后我通过添加以下行来编辑 settings.json:
"files.associations": {
"*.ejs": "html"
},
"emmet.includeLanguages": {
"ejs": "html"
}
我做了所有这些,但我的 ejs 代码仍然无法识别。
过了一段时间,我发现在我的例子中造成这种情况的是 HTMLHint 扩展(Mike Kaufman)。
因此,我成功地应用了这两种解决方案之一:
"htmlhint.options": {
"spec-char-escape": false,
"doctype-first": false
}
NB:我终于卸载了EJS语言支持扩展。
VS Code 没有预装 EJS 语法。您必须下载扩展程序 它的插件。尝试使用以下链接:
或者在 VS Code 终端中键入以下命令:
ext install DigitalBrainstem.javascript-ejs-support
我找到了解决方案(如何设置 VSCode,没有麻烦):
EJS language support
插件<? for( let item of array ) { ?>
(some data)
<? } ?>
格式不正确(至少使用默认的 html 格式化程序)。
ejs.delimeter = '?'
。现在您已经使用 <? ... ?>
标签正确缩进了。Snippets Ranger
插件,然后找到所需的扩展并编辑其文件。 Snippets Ranger
是非常方便的工具。Ctrl+Shift+P
=> Change language mode
=> 设置 HTML
我希望我帮助某人为 .ejs 文件设置 VSCode
前往 https://marketplace.visualstudio.com/items?itemName=DigitalBrainstem.javascript-ejs-support 并安装 EJS 语言支持
点击 ctr + shift + p 并搜索
settings.json
过去这个:
"emmet.includeLanguages": {
"ejs": "html"
},
"html.format.templating": true
确保您的代码中没有错误或拼写错误
重新加载您的窗口,然后轰隆隆!错误已解决! :)