Visual Studio Code 无法识别 EJS

问题描述 投票:0回答:9

我正在尝试按照 本教程 并在 VS Code 中的 EJS 中编写一些代码。我按照视频的说明运行

npm i express ejs
来安装 Express 和 EJS,控制台中没有弹出任何错误。但是,在右下角(蓝色栏中)它仍然显示 HTML,当我单击此更改语言时,EJS 不会出现在列表中。

我在这里遗漏了什么吗?我还应该遵循另一个步骤吗?任何帮助将不胜感激。

javascript html node.js visual-studio-code ejs
9个回答
16
投票

默认情况下,VSCode 没有 EJS 模板文件的语法突出显示。您需要安装一个像这样的插件 - EJS 语言支持

您还需要为

.ejs
文件配置文件关联。为此,请键入以下命令(使用
CTRL + SHIFT + P
)-
Change language mode
,然后选择
Configure file association for .ejs
,然后从下拉列表中选择
HTML


10
投票

工作解决方案(2021 年 9 月)

  1. 安装EJS语言支持vscode扩展
  1. 并将这些设置添加到 VScode 中,

     "files.associations": {
         "*.ejs": "html"
     },
     "emmet.includeLanguages": {
         "ejs": "html",
     },
     "html.format.templating": true
    

玩得开心😎


7
投票

终于找到这个问题的原因了。

最重要的是,我安装了 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
}

NB:我终于卸载了EJS语言支持扩展。


1
投票

VS Code 没有预装 EJS 语法。您必须下载扩展程序 它的插件。尝试使用以下链接:

或者在 VS Code 终端中键入以下命令:

ext install DigitalBrainstem.javascript-ejs-support

0
投票

我找到了解决方案(如何设置 VSCode,没有麻烦):

  1. 安装
    EJS language support
    插件
  2. 现在您有了 ejs 支持、突出显示和片段,但有些标签如
<? for( let item of array ) { ?>
(some data)
<? } ?>

格式不正确(至少使用默认的 html 格式化程序)。

  1. 要解决此问题,您可以尝试将自定义分隔符设置为“?”
    ejs.delimeter = '?'
    。现在您已经使用
    <? ... ?>
    标签正确缩进了。
  2. 要将片段与我们的自定义分隔符一起使用,您需要编辑扩展片段(或添加您自己的片段):安装
    Snippets Ranger
    插件,然后找到所需的扩展并编辑其文件。
    Snippets Ranger
    是非常方便的工具。
  3. 如果由于某种原因,您仍然没有得到您想要的内容,请尝试将文件关联配置为 html:
    Ctrl+Shift+P
    =>
    Change language mode
    => 设置
    HTML

我希望我帮助某人为 .ejs 文件设置 VSCode


0
投票

对我有用的是,我遵循了上面 Al Mahdi 所示的精确设置;但我没有选择将文件更改为 ejs。因此,我所做的是将 VS code 中的“资源管理器”选项卡中的文件重命名为“filename.ejs”,该文件位于视图文件夹中(不确定您是否执行了此步骤)。然后一切对我来说都很顺利。


0
投票

folder link, not file link

我承认我太快地点击了在资源管理器侧边栏中创建的文件夹链接,例如“views\pages\index.esj”,因此请确保您创建的是文件,而不是文件夹:)


0
投票
  1. 前往 https://marketplace.visualstudio.com/items?itemName=DigitalBrainstem.javascript-ejs-support 并安装 EJS 语言支持

  2. 点击 ctr + shift + p 并搜索

    settings.json

  3. 过去这个:

"emmet.includeLanguages": {
  "ejs": "html"
},
"html.format.templating": true
  1. 确保您的代码中没有错误或拼写错误

  2. 重新加载您的窗口,然后轰隆隆!错误已解决! :)


0
投票

尝试了一切,终于修复了下载以下扩展 - EJS 语言支持 -

https://marketplace.visualstudio.com/items?itemName=leonzalion.vscode-ejs

EJS Language Support

将这些代码添加到 vscode 中的settings.json中

 "files.associations": {
 "*.ejs": "html"
 },

"emmet.includeLanguages": {
 "ejs": "html",
 },

"html.format.templating": true
© www.soinside.com 2019 - 2024. All rights reserved.