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 = '?'。现在你有了&lt;? ... ?&gt;标签的正确缩进。 要将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 不包含 C 头文件

带有 Visual Studio Code 的 FLTK 库

Visual Studio Code 中的方法列表

有没有办法让 Visual Studio Code 识别 PHP 文件中的 HTML 语法

Visual Studio Code 中的 Python 3.x 类型提示

Visual Studio Code扩展: