Visual Studio Code 无法识别 EJS
Posted
技术标签:
【中文标题】Visual Studio Code 无法识别 EJS【英文标题】:Visual Studio Code isn't recognising EJS 【发布时间】:2020-04-01 22:11:40 【问题描述】:我正在尝试关注this tutorial 并在 VS Code 中用 EJS 编写一些代码。我按照视频的说明运行了npm i express ejs
来安装 Express 和 EJS,并且控制台中没有弹出错误。但是,在右下角(在蓝色条中)它仍然显示 html,当我单击它更改语言时,EJS 不会出现在列表中。
我在这里遗漏了什么吗?我还有另一个步骤吗?任何帮助将不胜感激。
【问题讨论】:
尝试重启 Visual Studio Code;让我知道这是否有效。我之前遇到过类似的问题 @alexyorke 不幸的是,这不起作用。它仍然没有出现在语言列表中。 【参考方案1】:默认情况下,VSCode 没有 EJS 模板文件的语法高亮。你需要安装一个像这样的插件 - EJS language support。
您还需要为.ejs
文件配置文件关联。为此,请键入以下命令(使用CTRL + SHIFT + P
)-Change language mode
,然后选择Configure file association for .ejs
,然后从下拉列表中选择HTML
。
【讨论】:
我已经安装了插件,但是EJS没有出现在语言列表中。我还有什么需要做的吗? 不幸的是,这对我没有任何帮助,即使在重新加载 vscode 之后也是如此。 什么都没发生【参考方案2】:终于找到了这个问题的原因。
首先,我安装了 EJS 语言支持 扩展,然后我通过添加以下行来编辑 settings.json:
"files.associations":
"*.ejs": "html"
,
"emmet.includeLanguages":
"ejs": "html"
我做了所有这些,但我的 ejs 代码仍然无法识别。
一段时间后,我发现在我的情况下,负责该问题的是 HTMLHint 扩展 (Mike Kaufman)。
因此,我成功应用了以下两种解决方案之一:
卸载“HTMLHint”。 编辑 settings.json 添加以下内容:"htmlhint.options":
"spec-char-escape": false,
"doctype-first": false
注意:我终于卸载了 EJS 语言支持扩展。
【讨论】:
【参考方案3】:工作解决方案(2021 年 9 月)
-
安装EJS language support vscode 扩展
并将这些设置添加到 VScode,
"files.associations":
"*.ejs": "html"
,
"emmet.includeLanguages":
"ejs": "html",
,
"html.format.templating": true
玩得开心?
【讨论】:
【参考方案4】:VS Code 没有为 EJS 预先安装的语法。您必须下载扩展程序 插件。尝试使用以下链接:
https://marketplace.visualstudio.com/items?itemName=DigitalBrainstem.javascript-ejs-support或者在 VS Code 终端中输入以下命令:
ext install DigitalBrainstem.javascript-ejs-support
【讨论】:
【参考方案5】:我找到了解决方案(如何设置VSCode,没有麻烦):
-
安装
EJS language support
插件
现在您有了 ejs 支持、突出显示和 sn-ps,但有些标签像
<? for( let item of array ) ?>
(some data)
<? ?>
格式不正确(至少使用默认的 html 格式化程序)。
-
要解决此问题,您可以尝试将自定义分隔符设置为“?”
ejs.delimeter = '?'
。现在你有了<? ... ?>
标签的正确缩进。
要将sn-ps与我们的自定义分隔符一起使用,您需要编辑扩展sn-ps(或添加您自己的):安装Snippets Ranger
插件,然后找到所需的扩展并编辑其文件。 Snippets Ranger
是非常方便的工具。
如果由于某种原因,您仍然没有想要的内容,请尝试将文件关联配置为 html:Ctrl+Shift+P
=> Change language mode
=> 设置 HTML
我希望我帮助某人为 .ejs 文件设置 VSCode
【讨论】:
【参考方案6】:什么对我有用,我遵循上面 Al Mahdi 显示的确切设置;但我没有选择将文件更改为 ejs。所以我所做的就是将 VS 代码中资源管理器选项卡中的文件重命名为位于视图文件夹中的“filename.ejs”(不确定您是否执行了此步骤)。然后一切对我来说都很好。
"
【讨论】:
以上是关于Visual Studio Code 无法识别 EJS的主要内容,如果未能解决你的问题,请参考以下文章
带有 Visual Studio Code 的 FLTK 库
有没有办法让 Visual Studio Code 识别 PHP 文件中的 HTML 语法